implemented more game logic