chapter 3: exercise 17