public ArrayList<Direction> checkMoves(Pair<Integer, Integer> coords,
			Piece squareColour) {
		boolean found = false;
		ArrayList<Direction> validDirections = null;
		if (isInBoundary(coords)) {
			if ((board[coords.getFirst() - 1][coords.getSecond() - 1])
					.getPiece().equals(Piece.EMPTY)) {
				for (Direction dir : Direction.values()) {
					if (checkLine(coords, squareColour, dir, found)) {
						if (validDirections == null) {
							validDirections = new ArrayList<Direction>();
						}
						validDirections.add(dir);
					}
				}
			}
		}
		return validDirections;
	}