Solved problem 16, updated 1 + 2