Finish Exercise 8.5.1
Finish Exercise 8.5.2