Finished solution for problem 1