Object-Oriented programming - part I

second finished
third almost