exercise 5.17