first version of the solution to p17