Implementing class hierarchies

Class hierarchies, abstract classes, polymorphism