fixed game logic