School project / coding challenge (polymorphism /inheritance exercise)