chapter 4 create custom class