add chapter 3 code