Base class abstraction and hierarchy
Merge branch 'master' of github.com:RazorDude/OOPTeamwork