finished with game logic