complete chapter 6: adding new features