complete game model implementation