Exercise 2.7
Exercise 2.7 refactor
Exercise 2.8
Exercise 2.9
Exercise 2.10
Exercise 2.12
Exercise 2.17