a puzzle is for learning