completed problem 2
completed problem 3
completed problem 4