private int findBestMove()
	{
		int [] rate = new int[Game.COLS];
		
		
		/*
		 * Calculate a single node
		 */
		//Do this for every possible move
		for(int startMove = 0; startMove < Game.COLS; startMove++)
		{
			rate[startMove] = rateMove[startMove][0][startMove];
			for(int deep = 1; deep < this.searchDeep; deep++)
			{
				int maxPoints = Integer.MIN_VALUE;
				int bestMove = -1;
				for(int x = 0; x < Game.COLS; x++)
				{
					if(maxPoints < rateMove[startMove][deep][x])
					{
						bestMove = x;
						maxPoints = rateMove[startMove][deep][x];
					}
				}
				/*
				 * opponents turn
				 */
				if(deep%2 == 0)
				{
					rate[startMove] -= rateMove[startMove][deep][bestMove];
				}
				else
				{
					rate[startMove] += rateMove[startMove][deep][bestMove];
				}
			}
		}
		for(int x = 0; x < this.searchDeep;x++)
		{
			for(int y = 0; y < Game.COLS; y++)
			{
				System.out.println("deep:"+x+" move:"+y+" value:"+rateMove[x][y]);
			}
		}
		/*
		 * Find the best move 
		 */
		int maxValue = Integer.MIN_VALUE;
		int bestMove = -1;
		for(int x = 0; x < Game.COLS; x++)
		{
			System.out.println("Moveeeeeeeeeeeeeee:"+x+" Value:"+rate[x]);
			if(maxValue < rate[x])
			{
				maxValue = rate[x];
				bestMove = x;
			}
		}
		System.out.println("get move back");
		return (bestMove+1);
	}