Finish Exercise 10.5.4
Finish Exercise 10.5.5
Finish Exercise 10.5.6