split game logic and controllers