exercise 2.14 completed