private boolean doubleMillDetection(GameBoard gamestate, GamePiece doubleMillPosition, Team doubleMillTeam){
			if (doubleMillPosition.getP() % 2 == 1) { return false;} //double mill detection in this method does not consider the 4 middle square double mills.
			
			Team emptyTeam = new Team();
			emptyTeam.setTeamSymbol(GameBoard.EMPTY); //empty square checking
			
			//assumes the square doubleMillPosition is already empty
			//check side pieces
			int pNext = (doubleMillPosition.getP()+1)%8; //next spot on the ring
			int pPrev = doubleMillPosition.getP()-1; //p minus one mod eight
			if (pPrev < 0) {
				pPrev+=8;
			}
			
			if (gamestate.checkForTeamPiece(doubleMillTeam, doubleMillPosition.getR(), pNext) && gamestate.checkForTeamPiece(doubleMillTeam, doubleMillPosition.getR(), pPrev)){
				//There's a piece both before and after this one. We need to check one square farther to make sure they are also empty.
				pNext = (pNext+1)%8; //next spot on the ring
				pPrev = pPrev-1; //p minus one mod eight
				if (pPrev < 0) {
					pPrev+=8;
				}
				if (gamestate.checkForTeamPiece(emptyTeam, doubleMillPosition.getR(), pNext) && gamestate.checkForTeamPiece(emptyTeam, doubleMillPosition.getR(), pPrev)) {
					return true; //this is a double mill spot
				}
			}
			
			return false; //no double mill found
		}