problem 4 works