refactored GameView