add code chapter 8