Finished exercise 3.5.1
Finish exercise 3.5.2