15.3. Code for chapter 3