1. one method "autoSolve" added to IPuzzle interface. You need this method in order to solve the puzzle automatically. public void autoSolve(); // solve the puzzle automatically 2. In the assignment specification , it's said "For example, if the user goes NSNSNS., your program will go SNSNSN... to reverse those moves." But actually, the user should go NSNSNS. Because not only should we reverse the sequence, but for each direction in the sequence, we should also reverse the direction. For example, if we go N, then when we do autoSolve, we should go S