Finish Exercise 3.5.2