Some code from chapter 6
Some code from chapter 7
Some code from chapter 8
Some code from chapter 9