Finished Exercise 3.5.1
Finished Exercise 3.5.2