solved problem 15, 16, 17