completed problem 18