exercise 1.29 completed