Puzzle class