initial commit of some game logic classes - will likely need to rework directory structure in future