started adding interfaces for the entities and game state