game logic fixes