Initial commit for chapter 5 source code