define basic interfaces for game logic