more implementation on start_game, and more game logic