private Instance gameStateToInstance(ActionList history, GameState gameState, Action moveMade) {
		Instance newInstance = new Instance(numAttrs);
		newInstance.setValue(currentRound, gameState.bettingRound.toString());
		
		ActionList opponentActions = history.opponentActions(gameState.gameInfo);
		
		double orf = (double) opponentActions.numberOfRaises() / opponentActions.size();
		double trf =  (double) history.numberOfRaises() / history.size();
		newInstance.setValue(opponentRaiseFrequency, orf);
		newInstance.setValue(totalRaiseFrequency, trf);
		
		double po = ((double) (gameState.playerBetAmount - gameState.opponentBetAmount)) /  
			(gameState.playerBetAmount + gameState.opponentBetAmount);
		newInstance.setValue(potOdds, po);
		
		if(opponentActions.size() > 0 && opponentActions.lastAction() == Action.RAISE) {
			newInstance.setValue(opponentsLastActionWasRaise, 1);
		} else {
			newInstance.setValue(opponentsLastActionWasRaise, 0);
		}
	
		if(moveMade != null) {
			newInstance.setValue(nextMove, moveMade.toString());
		}
		
		return newInstance;
			
	}