refactor, split Game.update