finished solution for problem 2