exercise 2.59 completed