chapter 4 exercises
chapter 5 code