Exercises 3.06 -- 3.16 OOP