this is problem 4