chapter 3: exercise 21
chapter 3: exercise 22