split of game logic and add specs.