Adding the puzzle implementation