Exercise 15.03 from chapter 15