Complete Exercise 3.5.2
Starting part 5