completed exercise in which designing with inheritance is demonstrated
completed exercise with downcasting