Puzzles and Building Blocks