exercise 2.19 completed