exercise 3.23