Exercise 9, still needs some work.