15.6. Code for chapter 6