done with problem 4