more game logic implemented