Solved problem 17, and renamed