refactor and apply more responsibility to Game class