@Override
	public boolean make(PublicGameBoard board) {
		BoardCoordinate c = _target.location();
		int v = -1;
		boolean exp = board.isExpanded();
		int nv = (exp)? NUM_VERTICES_EXP:NUM_VERTICES;
		Map<Integer, List<Integer>> x_gr = (exp)? X_GROUPS_EXP:X_GROUPS;
		Map<Integer, List<Integer>> y_gr = (exp)? Y_GROUPS_EXP:Y_GROUPS;
		Map<Integer, List<Integer>> z_gr = (exp)? Z_GROUPS_EXP:Z_GROUPS;
		for (int i = 0; i < nv; i++) {
			if (x_gr.get(c.x()).contains(i) && y_gr.get(c.y()).contains(i) && 
					z_gr.get(c.z()).contains(i)) {
				v = i;
				break;
			}
		}
		if (v == -1) return false;
		gamelogic.CoordPair coords = board.getCoordsFromInt(v);
		return board.canBuildSettlement(Integer.parseInt(_mover.getID()), coords.getX(), coords.getY());
	}