Index: /bidspace/pom.xml
===================================================================
--- /bidspace/pom.xml	(revision 49)
+++ /bidspace/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>bidspace</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /boa/pom.xml
===================================================================
--- /boa/pom.xml	(revision 49)
+++ /boa/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>boa</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /collectparties.sh
===================================================================
--- /collectparties.sh	(revision 49)
+++ /collectparties.sh	(revision 50)
@@ -7,5 +7,5 @@
 rm -rf collectedparties
 mkdir collectedparties
-VERSION=2.1.4
+VERSION=2.1.5
 
 cp "exampleparties/anac2019/agentgg/target/agentgg-${VERSION}-jar-with-dependencies.jar" collectedparties
Index: /domaineditor/pom.xml
===================================================================
--- /domaineditor/pom.xml	(revision 49)
+++ /domaineditor/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>domaineditor</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
@@ -233,4 +233,5 @@
 					<archive>
 						<manifest>
+							<mainClass>geniusweb.domaineditor.ProfileEditor</mainClass>
 							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
 							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
Index: /domaineditor/src/main/java/geniusweb/actions/LoadAction.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/actions/LoadAction.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/actions/LoadAction.java	(revision 50)
@@ -4,5 +4,4 @@
 import java.awt.event.KeyEvent;
 import java.io.File;
-import java.io.IOException;
 import java.util.logging.Level;
 
@@ -31,20 +30,20 @@
 
 	public void load(LinearAdditiveUtilitySpaceModel model) {
-		JFileChooser chooser = new JFileChooser();
-		FileNameExtensionFilter filter = new FileNameExtensionFilter(
-				"JSON file", "json");
-		chooser.setFileFilter(filter);
-		int selection = chooser.showOpenDialog(null);
-		if (selection != JFileChooser.APPROVE_OPTION)
-			return;
-		File file = chooser.getSelectedFile();
+		try {
+			JFileChooser chooser = new JFileChooser();
+			FileNameExtensionFilter filter = new FileNameExtensionFilter(
+					"JSON file", "json");
+			chooser.setFileFilter(filter);
+			int selection = chooser.showOpenDialog(null);
+			if (selection != JFileChooser.APPROVE_OPTION)
+				return;
+			File file = chooser.getSelectedFile();
 
-		try {
 			LinearAdditiveUtilitySpace profi = jackson.readValue(file,
 					LinearAdditiveUtilitySpace.class);
 			model.setCurrentValue(profi);
-		} catch (IOException e1) {
+		} catch (Exception e1) {
 			log.log(Level.WARNING,
-					"Failed to read file " + file + ": " + e1.getMessage());
+					"Failed to read file " + ": " + e1.getMessage());
 			e1.printStackTrace();
 		}
Index: /domaineditor/src/main/java/geniusweb/actions/SaveAction.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/actions/SaveAction.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/actions/SaveAction.java	(revision 50)
@@ -4,5 +4,4 @@
 import java.awt.event.KeyEvent;
 import java.io.File;
-import java.io.IOException;
 import java.util.logging.Level;
 
@@ -36,18 +35,19 @@
 	 */
 	protected void save(LinearAdditiveUtilitySpaceModel model) {
-		LinearAdditiveUtilitySpace profile = model.getCurrentValue();
-		JFileChooser chooser = new JFileChooser();
-		chooser.setSelectedFile(new File(profile.getName() + ".json"));
-		FileNameExtensionFilter filter = new FileNameExtensionFilter(
-				"JSON file", "json");
-		chooser.setFileFilter(filter);
-		int selection = chooser.showSaveDialog(null);
-		if (selection != JFileChooser.APPROVE_OPTION)
-			return;
-		File file = chooser.getSelectedFile();
 		try {
+			LinearAdditiveUtilitySpace profile = model.getCurrentValue();
+
+			JFileChooser chooser = new JFileChooser();
+			chooser.setSelectedFile(new File(profile.getName() + ".json"));
+			FileNameExtensionFilter filter = new FileNameExtensionFilter(
+					"JSON file", "json");
+			chooser.setFileFilter(filter);
+			int selection = chooser.showSaveDialog(null);
+			if (selection != JFileChooser.APPROVE_OPTION)
+				return;
+			File file = chooser.getSelectedFile();
 			jackson.writeValue(file, profile);
-		} catch (IOException e) {
-			log.log(Level.WARNING, "Failed to save:" + e.getMessage());
+		} catch (Exception e) {
+			log.log(Level.SEVERE, "Failed to save:" + e.getMessage());
 			e.printStackTrace();
 		}
Index: /domaineditor/src/main/java/geniusweb/actions/SaveDomainAction.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/actions/SaveDomainAction.java	(revision 50)
+++ /domaineditor/src/main/java/geniusweb/actions/SaveDomainAction.java	(revision 50)
@@ -0,0 +1,55 @@
+package geniusweb.actions;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.io.File;
+import java.util.logging.Level;
+
+import javax.swing.JFileChooser;
+import javax.swing.KeyStroke;
+import javax.swing.filechooser.FileNameExtensionFilter;
+
+import geniusweb.domaineditor.ProfileEditor;
+import geniusweb.domaineditor.model.profile.LinearAdditiveUtilitySpaceModel;
+import geniusweb.issuevalue.Domain;
+import tudelft.utilities.logging.Reporter;
+
+public class SaveDomainAction extends GuiAction {
+
+	public SaveDomainAction(Reporter log) {
+		super("Save Domain", log);
+		putValue(SHORT_DESCRIPTION, "Save the domain only");
+		putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S,
+				ActionEvent.CTRL_MASK + ActionEvent.SHIFT_MASK));
+	}
+
+	@Override
+	public void actionPerformed(ActionEvent e) {
+		save(ProfileEditor.getInstance().getModel());
+	}
+
+	/**
+	 * Save a model.
+	 * 
+	 * @param model the {@link LinearAdditiveUtilitySpaceModel} to be saved
+	 */
+	protected void save(LinearAdditiveUtilitySpaceModel model) {
+
+		try {
+			Domain domain = model.getCurrentValue().getDomain();
+			JFileChooser chooser = new JFileChooser();
+			chooser.setSelectedFile(new File(domain.getName() + ".json"));
+			FileNameExtensionFilter filter = new FileNameExtensionFilter(
+					"JSON file", "json");
+			chooser.setFileFilter(filter);
+			int selection = chooser.showSaveDialog(null);
+			if (selection != JFileChooser.APPROVE_OPTION)
+				return;
+			File file = chooser.getSelectedFile();
+			jackson.writeValue(file, domain);
+		} catch (Exception e) {
+			log.log(Level.WARNING, "Failed to save:" + e.getMessage());
+			e.printStackTrace();
+		}
+	}
+}
Index: /domaineditor/src/main/java/geniusweb/domaineditor/ProfileEditor.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/ProfileEditor.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/ProfileEditor.java	(revision 50)
@@ -9,4 +9,5 @@
 import geniusweb.actions.LoadAction;
 import geniusweb.actions.SaveAction;
+import geniusweb.actions.SaveDomainAction;
 import geniusweb.domaineditor.model.DomainModel;
 import geniusweb.domaineditor.model.profile.LinearAdditiveUtilitySpaceModel;
@@ -16,6 +17,7 @@
 
 /**
- * A profile editor. Contains components to edit domain, reservation bid,
- * utilities etc.
+ * A profile editor. Basically a container for a {@link ProfileEditorPanel} plus
+ * a menu bar. Contains components to edit domain, reservation bid, utilities
+ * etc.
  */
 @SuppressWarnings("serial")
@@ -45,4 +47,5 @@
 		filemenu.add(new LoadAction(log));
 		filemenu.add(new SaveAction(log));
+		filemenu.add(new SaveDomainAction(log));
 
 		mb.add(filemenu);
Index: /domaineditor/src/main/java/geniusweb/domaineditor/model/BidModel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/model/BidModel.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/model/BidModel.java	(revision 50)
@@ -6,5 +6,4 @@
 import java.util.Map.Entry;
 import java.util.logging.Level;
-import java.util.stream.Collectors;
 
 import geniusweb.issuevalue.Bid;
@@ -48,5 +47,5 @@
 	 * 
 	 * @param issuevalues the map with issue values from
-	 *                    {@link DomainModel#getIssuesModel()}
+	 *                    {@link DomainModel#getIssues()}
 	 */
 	public BidModel(MapModel<StringModel, ValueSetModel> issuevalues,
@@ -124,7 +123,12 @@
 	@Override
 	public Bid getCurrentValue() throws IllegalStateException {
-		Map<String, Value> selectionmap = selections.entrySet().stream()
-				.collect(Collectors.toMap(entry -> entry.getKey().getValue(),
-						entry -> getVal(entry)));
+		Map<String, Value> selectionmap = new HashMap<>();
+		for (Entry<StringModel, SelectionModel<BasicModel>> entry : selections
+				.entrySet()) {
+			Value val = getVal(entry);
+			// ignore non-set values
+			if (val != null)
+				selectionmap.put(entry.getKey().getValue(), val);
+		}
 		return new Bid(selectionmap);
 	}
@@ -158,6 +162,14 @@
 	}
 
+	/**
+	 * 
+	 * @param entry the key-value entry that was selected.
+	 * @return the selected value, or null if nothing is selected.
+	 */
 	private Value getVal(Entry<StringModel, SelectionModel<BasicModel>> entry) {
-		Object val = entry.getValue().getSelection().getValue();
+		BasicModel sel = entry.getValue().getSelection();
+		if (sel == null)
+			return null;
+		Object val = sel.getValue();
 		if (val instanceof String)
 			return new DiscreteValue((String) val);
Index: /domaineditor/src/main/java/geniusweb/domaineditor/model/DomainModel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/model/DomainModel.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/model/DomainModel.java	(revision 50)
@@ -55,5 +55,5 @@
 
 	public DomainModel(Reporter log) {
-		this(new StringModel("noname", log),
+		this(new SimpleStringModel("domainname", log),
 				new DefaultMapModel<StringModel, ValueSetModel>(
 						Collections.singletonMap(new StringModel("issue", log),
@@ -96,5 +96,5 @@
 	 * @return the model containing the domain name.
 	 */
-	public StringModel getNameModel() {
+	public StringModel getName() {
 		return domainname;
 	}
@@ -104,5 +104,5 @@
 	 * @return the model containing the issues-values map
 	 */
-	public MapModel<StringModel, ValueSetModel> getIssuesModel() {
+	public MapModel<StringModel, ValueSetModel> getIssues() {
 		return issuesmodel;
 	}
Index: /domaineditor/src/main/java/geniusweb/domaineditor/model/SimpleStringModel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/model/SimpleStringModel.java	(revision 50)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/model/SimpleStringModel.java	(revision 50)
@@ -0,0 +1,23 @@
+package geniusweb.domaineditor.model;
+
+import tudelft.utilities.logging.Reporter;
+import tudelft.utilities.mvc.model.StringModel;
+
+/**
+ * allows only strings that {{{matches("[a-zA-Z0-9]+")}}}
+ */
+public class SimpleStringModel extends StringModel {
+
+	public SimpleStringModel(String val, Reporter log) {
+		super(val, log);
+	}
+
+	@Override
+	protected void check() throws IllegalStateException {
+		if (!(getValue().matches("[a-zA-Z0-9]+")))
+			throw new IllegalStateException(
+					"Only lower and upper case letters and numbers are allowed");
+		super.check();
+	}
+
+}
Index: /domaineditor/src/main/java/geniusweb/domaineditor/model/profile/LinearAdditiveUtilitySpaceModel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/model/profile/LinearAdditiveUtilitySpaceModel.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/model/profile/LinearAdditiveUtilitySpaceModel.java	(revision 50)
@@ -12,4 +12,5 @@
 import geniusweb.domaineditor.model.DomainModel;
 import geniusweb.domaineditor.model.NumberValueSetModel;
+import geniusweb.domaineditor.model.SimpleStringModel;
 import geniusweb.domaineditor.model.ValueSetModel;
 import geniusweb.profile.utilityspace.LinearAdditiveUtilitySpace;
@@ -32,5 +33,5 @@
 public class LinearAdditiveUtilitySpaceModel extends DefaultListenable<Event>
 		implements ProfileModel, TypedModel<LinearAdditiveUtilitySpace> {
-	private final StringModel name;
+	private final SimpleStringModel name;
 	/**
 	 * the key is the issue, the value is the valuesetutilities for this issue.
@@ -51,7 +52,5 @@
 
 	/**
-	 * The
-	 * 
-	 * @param name
+	 * @param name           the name for the profile.
 	 * @param issueUtilities a map of issue-values. Issues are
 	 *                       {@link StringModel}.
@@ -65,12 +64,12 @@
 	 * @param log            the {@link Reporter}
 	 */
-	public LinearAdditiveUtilitySpaceModel(StringModel name,
+	public LinearAdditiveUtilitySpaceModel(SimpleStringModel name,
 			MapModel<StringModel, ValueSetUtilitiesModel> issueUtilities,
 			MapModel<StringModel, RestrictedNumberModel> weights,
 			DomainModel domain, BidModel reservationBid, Reporter log) {
-		if (!domain.getIssuesModel().getKeys().equals(issueUtilities.getKeys()))
+		if (!domain.getIssues().getKeys().equals(issueUtilities.getKeys()))
 			throw new IllegalArgumentException(
 					"issues in domain and isseuUtilities are not equal");
-		if (!domain.getIssuesModel().getKeys().equals(weights.getKeys()))
+		if (!domain.getIssues().getKeys().equals(weights.getKeys()))
 			throw new IllegalArgumentException(
 					"issues in domain and weight map are not equal");
@@ -94,7 +93,7 @@
 	public LinearAdditiveUtilitySpaceModel(DomainModel domain,
 			final Reporter log) {
-		this(new StringModel("domainname", log), createUtilsMap(domain, log),
-				createWeightMap(domain, log), domain,
-				new BidModel(domain.getIssuesModel(), log), log);
+		this(new SimpleStringModel("profilename", log),
+				createUtilsMap(domain, log), createWeightMap(domain, log),
+				domain, new BidModel(domain.getIssues(), log), log);
 	}
 
@@ -109,5 +108,5 @@
 			final DomainModel domain2, final Reporter log) {
 		return new MapFromKeys<StringModel, RestrictedNumberModel>(
-				domain2.getIssuesModel().getKeys(), log, true) {
+				domain2.getIssues().getKeys(), log, true) {
 
 			@Override
@@ -130,8 +129,8 @@
 		// different type
 		return new MapFromKeys<StringModel, ValueSetUtilitiesModel>(
-				domain2.getIssuesModel().getKeys(), log, false) {
+				domain2.getIssues().getKeys(), log, false) {
 			@Override
 			public ValueSetUtilitiesModel create(StringModel key) {
-				ValueSetModel val = domain2.getIssuesModel().getValue(key);
+				ValueSetModel val = domain2.getIssues().getValue(key);
 				if (val instanceof DiscreteValueSetModel)
 					return new DiscreteValueSetUtilitiesModel(
@@ -221,5 +220,5 @@
 		reservationBid.setCurrentValue(space.getReservationBid());
 
-		ListModel<StringModel> issuesm = domain.getIssuesModel().getKeys();
+		ListModel<StringModel> issuesm = domain.getIssues().getKeys();
 		for (int n = 0; n < issuesm.getSize(); n++) {
 			StringModel issuem = issuesm.get(n);
Index: maineditor/src/main/java/geniusweb/domaineditor/panels/BidEditorPanel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/panels/BidEditorPanel.java	(revision 49)
+++ 	(revision )
@@ -1,182 +1,0 @@
-package geniusweb.domaineditor.panels;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.util.EventObject;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.CellEditorListener;
-import javax.swing.event.TableModelEvent;
-import javax.swing.event.TableModelListener;
-import javax.swing.table.TableCellEditor;
-import javax.swing.table.TableCellRenderer;
-import javax.swing.table.TableModel;
-
-import geniusweb.domaineditor.model.BidModel;
-import tudelft.utilities.mvc.model.MapModel;
-import tudelft.utilities.mvc.model.Model;
-import tudelft.utilities.mvc.model.SelectionModel;
-import tudelft.utilities.mvc.model.StringModel;
-import tudelft.utilities.mvc.panels.PanelFactory;
-
-/**
- * Panel ot edit Bids. This is not a standard MapModelPanel because the issues
- * and values are not directly editable; rather the user can only pick existing
- * values.
- *
- */
-public class BidEditorPanel extends JPanel {
-
-	public BidEditorPanel(BidModel model) {
-		setLayout(new BorderLayout());
-		MyTableModel jtablemodel = new MyTableModel(model);
-		JTable table = new JTable(jtablemodel);
-		table.setDefaultRenderer(Object.class, new TableCellRenderer() {
-
-			@Override
-			public Component getTableCellRendererComponent(JTable table,
-					Object value, boolean isSelected, boolean hasFocus, int row,
-					int column) {
-				return (Component) value;
-			}
-		});
-		table.setDefaultEditor(Object.class, new TableCellEditor() {
-			private List<CellEditorListener> listeners = new LinkedList<>();
-
-			@Override
-			public Object getCellEditorValue() {
-				return null;
-			}
-
-			@Override
-			public boolean isCellEditable(EventObject anEvent) {
-				return true;
-			}
-
-			@Override
-			public boolean shouldSelectCell(EventObject anEvent) {
-				return true;
-			}
-
-			@Override
-			public boolean stopCellEditing() {
-				for (CellEditorListener l : listeners)
-					l.editingStopped(null);
-				return true;
-			}
-
-			@Override
-			public void cancelCellEditing() {
-				for (CellEditorListener l : listeners)
-					l.editingStopped(null);
-			}
-
-			@Override
-			public void addCellEditorListener(CellEditorListener l) {
-				listeners.add(l);
-			}
-
-			@Override
-			public void removeCellEditorListener(CellEditorListener l) {
-				listeners.remove(l);
-			}
-
-			@Override
-			public Component getTableCellEditorComponent(JTable table,
-					Object value, boolean isSelected, int row, int column) {
-				// only column 2 is editable so this must be a combo selector
-				return (Component) value;
-			}
-
-		});
-		table.setRowSelectionAllowed(true);
-		table.setCellSelectionEnabled(false);
-		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
-		add(new JScrollPane(table), BorderLayout.CENTER);
-	}
-}
-
-/**
- * The list is actually shown in a {@link JTable}. This maps our TableModel into
- * something JTable can digest.
- *
- * @param <K> the key type
- * @param <V> the value type
- */
-class MyTableModel<K extends Model, V extends Model> implements TableModel {
-	private final PanelFactory panelfactory;
-
-	private final MapModel<StringModel, SelectionModel> issuevalues;
-	private List<TableModelListener> listeners = new LinkedList<>();
-
-	public MyTableModel(MapModel<StringModel, SelectionModel> issuevalues,
-			PanelFactory panelfactory) {
-		this.panelfactory = panelfactory;
-		this.issuevalues = issuevalues;
-		issuevalues.addListener((data) -> notifyListeners());
-	}
-
-	public MyTableModel(MapModel<StringModel, SelectionModel> issuevalues) {
-		this(issuevalues, new PanelFactory());
-	}
-
-	@Override
-	public int getRowCount() {
-		return issuevalues.getKeys().getSize();
-	}
-
-	@Override
-	public int getColumnCount() {
-		return 2;
-	}
-
-	@Override
-	public String getColumnName(int columnIndex) {
-		return columnIndex == 0 ? "issue" : "value";
-	}
-
-	@Override
-	public Class<?> getColumnClass(int columnIndex) {
-		return Component.class;
-	}
-
-	@Override
-	public boolean isCellEditable(int rowIndex, int columnIndex) {
-		return columnIndex == 1; // only values can be edited
-	}
-
-	@Override
-	public Object getValueAt(int rowIndex, int columnIndex) {
-		StringModel key = issuevalues.getKeys().get(rowIndex);
-		return panelfactory
-				.create(columnIndex == 0 ? key : issuevalues.getValue(key));
-	}
-
-	@Override
-	public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
-	}
-
-	@Override
-	public void addTableModelListener(TableModelListener l) {
-		listeners.add(l);
-	}
-
-	@Override
-	public void removeTableModelListener(TableModelListener l) {
-		listeners.remove(l);
-
-	}
-
-	private void notifyListeners() {
-		for (TableModelListener l : listeners) {
-			l.tableChanged(new TableModelEvent(this));
-		}
-	}
-
-}
Index: /domaineditor/src/main/java/geniusweb/domaineditor/panels/DomainEditorPanel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/panels/DomainEditorPanel.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/panels/DomainEditorPanel.java	(revision 50)
@@ -38,8 +38,8 @@
 		setLayout(new BorderLayout());
 
-		add(new LabeledPanel("domain name",
-				new StringPanel(domainmodel.getNameModel())),
+		add(new LabeledPanel("domain name ",
+				new StringPanel(domainmodel.getName())),
 				BorderLayout.NORTH);
-		add(new IssuesMapEditor(domainmodel.getIssuesModel(), log),
+		add(new IssuesMapEditor(domainmodel.getIssues(), log),
 				BorderLayout.CENTER);
 
Index: /domaineditor/src/main/java/geniusweb/domaineditor/panels/NumberValueSetPanel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/panels/NumberValueSetPanel.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/panels/NumberValueSetPanel.java	(revision 50)
@@ -8,5 +8,4 @@
 import tudelft.utilities.mvc.panels.LabeledPanel;
 import tudelft.utilities.mvc.panels.NumberPanel;
-import tudelft.utilities.mvc.panels.StringPanel;
 
 /**
@@ -20,6 +19,4 @@
 		this.model = model;
 		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
-		add(new LabeledPanel("values for issue ",
-				new StringPanel(issuenamemodel)));
 		add(new LabeledPanel("low :", new NumberPanel(model.getLow())));
 		add(new LabeledPanel("high:", new NumberPanel(model.getHigh())));
Index: /domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/ProfileEditorPanel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/ProfileEditorPanel.java	(revision 49)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/ProfileEditorPanel.java	(revision 50)
@@ -9,5 +9,4 @@
 import geniusweb.domaineditor.model.profile.NumberValueSetUtilitiesModel;
 import geniusweb.domaineditor.model.profile.ValueSetUtilitiesModel;
-import geniusweb.domaineditor.panels.BidEditorPanel;
 import geniusweb.domaineditor.panels.DomainEditorPanel;
 import tudelft.utilities.logging.Reporter;
@@ -30,8 +29,7 @@
 		this.linmodel = lamodel;
 		this.log = log;
-
+		addTab("Properties", new PropertiesPanel(linmodel.getName(), log));
 		addTab("Domain", new DomainEditorPanel(linmodel.getDomain(), log));
-		addTab("Reservation Bid",
-				new BidEditorPanel(linmodel.getReservationBid()));
+		addTab("Reservation Bid", new MapPanel<>(linmodel.getReservationBid()));
 		addTab("Utilities", new MyUtilsEditor(linmodel.getIssueUtilities()));
 		addTab("Weights", new MapPanel<>(linmodel.getWeights()));
Index: /domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/PropertiesPanel.java
===================================================================
--- /domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/PropertiesPanel.java	(revision 50)
+++ /domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/PropertiesPanel.java	(revision 50)
@@ -0,0 +1,19 @@
+package geniusweb.domaineditor.panels.profile;
+
+import java.awt.FlowLayout;
+
+import javax.swing.JPanel;
+
+import tudelft.utilities.logging.Reporter;
+import tudelft.utilities.mvc.model.StringModel;
+import tudelft.utilities.mvc.panels.LabeledPanel;
+import tudelft.utilities.mvc.panels.StringPanel;
+
+public class PropertiesPanel extends JPanel {
+
+	public PropertiesPanel(StringModel name, Reporter log) {
+		setLayout(new FlowLayout());
+		add(new LabeledPanel("profile name ", new StringPanel(name)));
+	}
+
+}
Index: maineditor/src/test/java/geniusweb/domaineditor/BidModelPanelTest.java
===================================================================
--- /domaineditor/src/test/java/geniusweb/domaineditor/BidModelPanelTest.java	(revision 49)
+++ 	(revision )
@@ -1,84 +1,0 @@
-package geniusweb.domaineditor;
-
-import java.awt.BorderLayout;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Map;
-
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-
-import org.junit.Test;
-
-import geniusweb.domaineditor.model.BidModel;
-import geniusweb.domaineditor.model.DiscreteValueSetModel;
-import geniusweb.domaineditor.model.DomainModel;
-import geniusweb.domaineditor.model.ValueSetModel;
-import geniusweb.domaineditor.panels.BidEditorPanel;
-import geniusweb.domaineditor.panels.DomainEditorPanel;
-import tudelft.utilities.logging.Reporter;
-import tudelft.utilities.mvc.model.DefaultMapModel;
-import tudelft.utilities.mvc.model.DefaultSelectionModel;
-import tudelft.utilities.mvc.model.MapModel;
-import tudelft.utilities.mvc.model.SelectionModel;
-import tudelft.utilities.mvc.model.StringModel;
-import tudelft.utilities.mvc.panels.PopupReporter;
-
-public class BidModelPanelTest {
-
-	private int n = 1;
-
-	@Test
-	public void teste2e() throws InterruptedException {
-		JFrame frame = new JFrame();
-		Reporter log = new PopupReporter(frame);
-
-		JPanel panel = new JPanel(new BorderLayout());
-
-		StringModel redvalue = new StringModel("red", log);
-		StringModel greenvalue = new StringModel("green", log);
-		DiscreteValueSetModel issue1values = new DiscreteValueSetModel(
-				Arrays.asList(redvalue, greenvalue), log);
-
-		StringModel issue1 = new StringModel("issue", log);
-
-		SelectionModel issue1valuessel = new DefaultSelectionModel(
-				issue1values);
-		Map<StringModel, SelectionModel> a = Collections.singletonMap(issue1,
-				issue1valuessel);
-
-		MapModel<StringModel, ValueSetModel> issuevaluesmodel = new DefaultMapModel<StringModel, ValueSetModel>(
-				Collections.singletonMap(issue1, issue1values), log) {
-
-			@Override
-			public String getColumnName(int n) {
-				return n == 0 ? "issue" : "value";
-			}
-
-			@Override
-			public ValueSetModel create(StringModel key) {
-				throw new UnsupportedOperationException();
-			}
-
-			@Override
-			public int getMinimumSize() {
-				return 1;
-			}
-
-		};
-		DomainModel domain = new DomainModel(new StringModel("testdomain", log),
-				issuevaluesmodel, log);
-
-		panel.add(new DomainEditorPanel(domain, log), BorderLayout.WEST);
-		panel.add(
-				new BidEditorPanel(new BidModel(domain.getIssuesModel(), log)),
-				BorderLayout.CENTER);
-
-		frame.getContentPane().add(panel);
-		frame.pack();
-		frame.setVisible(true);
-		Thread.sleep(10000);
-		frame.setVisible(false);
-	}
-
-}
Index: /events/pom.xml
===================================================================
--- /events/pom.xml	(revision 49)
+++ /events/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>events</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /exampleparties/anac2019/agentgg/pom.xml
===================================================================
--- /exampleparties/anac2019/agentgg/pom.xml	(revision 49)
+++ /exampleparties/anac2019/agentgg/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties.anac2019</groupId>
 	<artifactId>agentgg</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/anac2019/winkyagent/pom.xml
===================================================================
--- /exampleparties/anac2019/winkyagent/pom.xml	(revision 49)
+++ /exampleparties/anac2019/winkyagent/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties.anac2019</groupId>
 	<artifactId>winkyagent</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/boulware/pom.xml
===================================================================
--- /exampleparties/boulware/pom.xml	(revision 49)
+++ /exampleparties/boulware/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>boulware</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/comparebids/pom.xml
===================================================================
--- /exampleparties/comparebids/pom.xml	(revision 49)
+++ /exampleparties/comparebids/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>comparebids</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /exampleparties/conceder/pom.xml
===================================================================
--- /exampleparties/conceder/pom.xml	(revision 49)
+++ /exampleparties/conceder/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>conceder</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/hardliner/pom.xml
===================================================================
--- /exampleparties/hardliner/pom.xml	(revision 49)
+++ /exampleparties/hardliner/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>hardliner</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/humangui/pom.xml
===================================================================
--- /exampleparties/humangui/pom.xml	(revision 49)
+++ /exampleparties/humangui/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>humangui</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /exampleparties/linear/pom.xml
===================================================================
--- /exampleparties/linear/pom.xml	(revision 49)
+++ /exampleparties/linear/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>linear</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/randomparty/pom.xml
===================================================================
--- /exampleparties/randomparty/pom.xml	(revision 49)
+++ /exampleparties/randomparty/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>randomparty</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/randompartypy/pom.xml
===================================================================
--- /exampleparties/randompartypy/pom.xml	(revision 49)
+++ /exampleparties/randompartypy/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>randompyparty</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/simpleboa/pom.xml
===================================================================
--- /exampleparties/simpleboa/pom.xml	(revision 49)
+++ /exampleparties/simpleboa/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>simpleboaparty</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /exampleparties/simpleshaop/pom.xml
===================================================================
--- /exampleparties/simpleshaop/pom.xml	(revision 49)
+++ /exampleparties/simpleshaop/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>simpleshaop</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /exampleparties/timedependentparty/pom.xml
===================================================================
--- /exampleparties/timedependentparty/pom.xml	(revision 49)
+++ /exampleparties/timedependentparty/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb.exampleparties</groupId>
 	<artifactId>timedependentparty</artifactId>
-	<version>2.1.4</version>  <!-- equals the geniusweb version -->
+	<version>2.1.5</version>  <!-- equals the geniusweb version -->
 	<packaging>jar</packaging>
 
Index: /ip/pom.xml
===================================================================
--- /ip/pom.xml	(revision 49)
+++ /ip/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>ip</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /issuevalue/pom.xml
===================================================================
--- /issuevalue/pom.xml	(revision 49)
+++ /issuevalue/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>issuevalue</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /logconverter/pom.xml
===================================================================
--- /logconverter/pom.xml	(revision 49)
+++ /logconverter/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>logconverter</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /opponentmodel/pom.xml
===================================================================
--- /opponentmodel/pom.xml	(revision 49)
+++ /opponentmodel/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>opponentmodel</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /party/pom.xml
===================================================================
--- /party/pom.xml	(revision 49)
+++ /party/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>party</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /profile/pom.xml
===================================================================
--- /profile/pom.xml	(revision 49)
+++ /profile/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>profile</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /profileconnection/pom.xml
===================================================================
--- /profileconnection/pom.xml	(revision 49)
+++ /profileconnection/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>profileconnection</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /protocol/pom.xml
===================================================================
--- /protocol/pom.xml	(revision 49)
+++ /protocol/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>protocol</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /pythonadapter/pom.xml
===================================================================
--- /pythonadapter/pom.xml	(revision 49)
+++ /pythonadapter/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>pythonadapter</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /references/pom.xml
===================================================================
--- /references/pom.xml	(revision 49)
+++ /references/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>references</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /simplerunner/pom.xml
===================================================================
--- /simplerunner/pom.xml	(revision 49)
+++ /simplerunner/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>simplerunner</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /timeline/pom.xml
===================================================================
--- /timeline/pom.xml	(revision 49)
+++ /timeline/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>timeline</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
Index: /voting/pom.xml
===================================================================
--- /voting/pom.xml	(revision 49)
+++ /voting/pom.xml	(revision 50)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>voting</artifactId>
-	<version>2.1.4</version>
+	<version>2.1.5</version>
 	<packaging>jar</packaging>
 
