Finish Exercise 3.29