added puzzle method