Finish exercise 5.6.1
Finish exercise 5.6.2
Finish exercise 5.6.3