OOP ch1-3 exercises