Exercise 1.28 - finished 1.2