chapter 5.4 (Chapter 5.6) Finished all the exercises