Added the Puzzle class