chapter 3: exercise 12