exercise 3.2.3, Page 96