begin chapter 9: constructing a OO lang