chapter 11 (advanced oop)