Space[][] openSets(Space sp) {
		Space[][] sets = new Space[numOpenSets(sp)][5];
		int index = 0;
		if (numOpenSets(sp) != 0) {
			if (isOpen(board[sp.pos[0]], sp.piece, 1)) {
				sets[index] = board[sp.pos[0]];
				index++;
			}
			if (isOpen(getColumn(sp.pos[1]), sp.piece, 1)) {
				sets[index] = getColumn(sp.pos[1]);
				index++;
			}
			if (sp.diagID % 2 == 0
					&& isOpen(topDownDiag(), sp.piece, 1)) {
				sets[index] = topDownDiag();
				index++;
			}
			if (sp.diagID % 3 == 0
					&& isOpen(bottomUpDiag(), sp.piece, 1)) {
				sets[index] = bottomUpDiag();
				index++;
			}
		}
		return sets;
	}