Solving the puzzle...