exercise 2.15 completed