Chapter 3: Exercise 25
Chapter 3: Exercise 26
Chapter3: Exercise 27
Chapter 3: Exercise 29 and bugfix for 27