abstract into GameHistory class