Only need one class of puzzle - it's the builders that vary