Finish Exercise 3.12