adding basic class hierarchy
no actual state or real functionality yet
just mocking out where it should go