exercise 1.18 completed