first version of the solution to p19