diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
index 036d3b221f8cdf631b18cf7b2a5c5c09f1f50541..bcd7da6eec806623c261579cb2fc62fa658f1f60 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
@@ -17,6 +17,7 @@ import org.apache.log4j.Logger;
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.commands.SemanticZoomLevelMatcher;
 import lcsb.mapviewer.common.MimeType;
+import lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params;
 import lcsb.mapviewer.converter.graphics.bioEntity.BioEntityConverterImpl;
 import lcsb.mapviewer.converter.graphics.layer.LayerConverter;
 import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -68,7 +69,7 @@ import lcsb.mapviewer.modelutils.map.ElementUtils;
  * 
  */
 public abstract class AbstractImageGenerator {
-	
+
 	/**
 	 * Class that allows to check if element is visible (or transparent) when
 	 * drawing. It's used to filter out invisible elements when drawing
@@ -205,6 +206,8 @@ public abstract class AbstractImageGenerator {
 		 */
 		private Color													 maxColor				= Color.BLACK;
 
+		private Color													 simpleColor		= Color.BLACK;
+
 		/**
 		 * @param scale
 		 *          scale to set
@@ -533,6 +536,10 @@ public abstract class AbstractImageGenerator {
 			return maxColor;
 		}
 
+		public Color getSimpleColor() {
+			return simpleColor;
+		}
+
 		/**
 		 * Returns {@link Color} that should be used for drawing overlays with
 		 * minimum value.
@@ -566,6 +573,17 @@ public abstract class AbstractImageGenerator {
 			return this;
 		}
 
+		/**
+		 * @param simpleColor
+		 *          simpleColor to set
+		 * @return object with all parameters
+		 * @see #simpleColor
+		 */
+		public Params simpleColor(Color simpleColor) {
+			this.simpleColor = simpleColor;
+			return this;
+		}
+
 		/**
 		 * @return the sbgn
 		 * @see #sbgn
@@ -585,6 +603,12 @@ public abstract class AbstractImageGenerator {
 			return this;
 		}
 
+		public Params colorExtractor(ColorExtractor colorExtractor) {
+			return minColor(colorExtractor.getMinColor()).//
+					maxColor(colorExtractor.getMaxColor()).//
+					simpleColor(colorExtractor.getSimpleColor());
+		}
+
 	}
 
 	/**
@@ -653,7 +677,7 @@ public abstract class AbstractImageGenerator {
 		this.level = params.getLevel();
 		this.scale = params.getScale();
 
-		colorExtractor = new ColorExtractor(params.getMinColor(), params.getMaxColor());
+		colorExtractor = new ColorExtractor(params.getMinColor(), params.getMaxColor(), params.getSimpleColor());
 
 		// set border frame extended by a margin
 		border = new Rectangle2D.Double(
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
index 59f4964c758ef2dd761a65abd1d6196885e54d99..13aac7e4274322704c0f9a06b4f4c245a59a844d 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
@@ -26,7 +26,7 @@ public class ConverterTest {
 	@Test
 	public void test() {
 		try {
-			ColorExtractor colorExtractor = new ColorExtractor(Color.BLUE, Color.RED);
+			ColorExtractor colorExtractor = new ColorExtractor(Color.BLUE, Color.RED, Color.BLUE);
 			new BioEntityConverterImpl(new BottomSquareCompartment("id1"), colorExtractor);
 			new BioEntityConverterImpl(new TopSquareCompartment("id2"), colorExtractor);
 			new BioEntityConverterImpl(new LeftSquareCompartment("id3"), colorExtractor);
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java
index 206b3f332fb0d63ef640fdf71e63047a057b906b..68060ae78364070ca6f49d320a3be1e10cb31bc1 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class BioEntityConverterImplTest {
 
-	ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN);
+	ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
 	@AfterClass
 	public static void tearDownAfterClass() throws Exception {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
index 1bdacdc9d7ea94ec4328ca4f6305873286000a4a..3b8f0499b32142579e6ae3bd38d58823a2b4bea4 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class SpeciesConverterTest {
 
-	ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN);
+	ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverterTest.java
index f5f24088412eedb983923420f2cb1cac7a9f5ea6..6c54f92d23fed16523dfe9f89515ff52b7483d2b 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverterTest.java
@@ -40,7 +40,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class ReactionConverterTest extends GraphicsTestFunctions {
 
-	ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN);
+	ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/frontend-js/src/main/js/ConfigurationType.js b/frontend-js/src/main/js/ConfigurationType.js
index defc30720f30b40ee06e0236b61d8fd0fe4954b5..aa792f821a083b1e4dfbb66bbb720ca43a89ff2f 100644
--- a/frontend-js/src/main/js/ConfigurationType.js
+++ b/frontend-js/src/main/js/ConfigurationType.js
@@ -8,6 +8,7 @@ var ConfigurationType = {
   LEGEND_FILES : "LEGEND_FILES",
   MIN_COLOR_VAL : "MIN_COLOR_VAL",
   MAX_COLOR_VAL : "MAX_COLOR_VAL",
+  SIMPLE_COLOR_VAL : "SIMPLE_COLOR_VAL",
   SEARCH_DISTANCE : "SEARCH_DISTANCE",
   USER_MANUAL_FILE : "USER_MANUAL_FILE",
 };
diff --git a/frontend-js/src/main/js/Functions.js b/frontend-js/src/main/js/Functions.js
index 14e71695de597639a821311fe11c0355169ccb25..de976d6f3778f44c0acde57220c832bea03b711a 100644
--- a/frontend-js/src/main/js/Functions.js
+++ b/frontend-js/src/main/js/Functions.js
@@ -171,16 +171,22 @@ Functions.overlayToColor = function(elementOverlay) {
     return Promise.reject("elementOverlay cannot be null!");
   } else if (elementOverlay.color !== undefined && elementOverlay.color !== null) {
     return Promise.resolve(self.intToColorString(elementOverlay.color.value));
-  } else if (elementOverlay.value !== undefined && elementOverlay.value !== null) {
+  } else {
     var ratio = 0;
     var promiseColor = null;
-    if (elementOverlay.value < 0) {
-      ratio = -elementOverlay.value;
-      promiseColor = ServerConnector.getMinOverlayColorInt();
+    if (elementOverlay.value !== undefined && elementOverlay.value !== null) {
+      if (elementOverlay.value < 0) {
+        ratio = -elementOverlay.value;
+        promiseColor = ServerConnector.getMinOverlayColorInt();
+      } else {
+        ratio = elementOverlay.value;
+        promiseColor = ServerConnector.getMaxOverlayColorInt();
+      }
     } else {
-      ratio = elementOverlay.value;
-      promiseColor = ServerConnector.getMaxOverlayColorInt();
+      ratio = 1;
+      promiseColor = ServerConnector.getSimpleOverlayColorInt();
     }
+
     return promiseColor.then(function(color) {
 
       ratio = 1 - ratio;
@@ -207,8 +213,6 @@ Functions.overlayToColor = function(elementOverlay) {
       color = red | green | blue;
       return self.intToColorString(color);
     });
-  } else {
-    return Promise.reject("elementOverlay doesn't have neither color nor value set!");
   }
 };
 
diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index 98798955d4ee3490de9e7670627cc097cf20089a..45af28dfb1affff12ce7a34172a04a7d620ab6b9 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -62,6 +62,24 @@ ServerConnector.getMinOverlayColorInt = function() {
   });
 };
 
+ServerConnector.getSimpleOverlayColorInt = function() {
+  var self = this;
+  var userColor;
+  return self.getLoggedUser().then(function(user) {
+    userColor = user.getSimpleColor();
+    return self.getConfigurationParam(ConfigurationType.SIMPLE_COLOR_VAL);
+  }).then(function(systemSimpleColor) {
+    var color = userColor;
+    if (userColor === null || userColor === undefined || userColor === "") {
+      color = systemSimpleColor;
+    }
+    color = parseInt(color, 16);
+    /* jslint bitwise: true */
+    color = (color & 0xFFFFFF);
+    return color;
+  });
+};
+
 ServerConnector.getMaxOverlayColorInt = function() {
   var self = this;
   var userColor;
diff --git a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js
index d88f5d762895b46811d5b759e577551252c23656..6880c24711602bbb0f30ffdfa199fcd485205cb8 100644
--- a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js
@@ -161,9 +161,9 @@ OverlayPanel.prototype.createOverlayRow = function(overlay, checked) {
     checkbox.checked = checked;
     checkbox.onclick = function() {
       if (this.checked) {
-        return self.getMap().openDataOverlay(overlay.getId());
+        return self.getMap().openDataOverlay(overlay.getId()).then(null, GuiConnector.alert);
       } else {
-        return self.getMap().removeSelectedLayout(overlay.getId());
+        return self.getMap().removeSelectedLayout(overlay.getId()).then(null, GuiConnector.alert);
       }
     };
     viewTd.appendChild(checkbox);
@@ -426,7 +426,7 @@ OverlayPanel.prototype.openAddOverlayDialog = function() {
   content.appendChild(fileInput);
   content.appendChild(guiUtils.createNewLine());
 
-  content.appendChild(guiUtils.createLabel("Or provide list of elements here: "));
+  content.appendChild(guiUtils.createLabel("Or provide list of elements here (one per line): "));
   content.appendChild(guiUtils.createNewLine());
   contentInput = guiUtils.createTextArea();
   content.appendChild(contentInput);
diff --git a/frontend-js/src/main/js/map/data/User.js b/frontend-js/src/main/js/map/data/User.js
index 48398247f9155faaaee8a27c86a6e1ded54e4ed3..cd41f7d7f9760ec82f889fe2618259a19fc1c792 100644
--- a/frontend-js/src/main/js/map/data/User.js
+++ b/frontend-js/src/main/js/map/data/User.js
@@ -13,6 +13,7 @@ function User(javaObject) {
   this.setPrivileges(javaObject.privileges);
   this.setMinColor(javaObject.minColor);
   this.setMaxColor(javaObject.maxColor);
+  this.setSimpleColor(javaObject.simpleColor);
 }
 
 User.prototype.setLogin = function(login) {
@@ -63,6 +64,14 @@ User.prototype.getMinColor = function() {
   return this._minColor;
 };
 
+User.prototype.setSimpleColor = function(simpleColor) {
+  this._simpleColor = simpleColor;
+};
+
+User.prototype.getSimpleColor = function() {
+  return this._simpleColor;
+};
+
 User.prototype.setMaxColor = function(maxColor) {
   this._maxColor = maxColor;
 };
diff --git a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
index d194c3e1d4d946abb6cb94f063b5c0b066cff577..612b8b2d408395558ae6e9fc1a06d4e52f85dda9 100644
--- a/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
+++ b/frontend-js/src/main/js/map/window/AbstractInfoWindow.js
@@ -1,5 +1,7 @@
 "use strict";
 
+var Promise = require("bluebird");
+
 var logger = require('../../logger');
 var Functions = require('../../Functions');
 
diff --git a/frontend-js/src/test/js/Functions-test.js b/frontend-js/src/test/js/Functions-test.js
index 9595bf326be87b4c7f0e38f96f486ccd0a68cf7f..7951eb34d46a18abd620131c1aa744acc1faae8a 100644
--- a/frontend-js/src/test/js/Functions-test.js
+++ b/frontend-js/src/test/js/Functions-test.js
@@ -200,9 +200,7 @@ describe('functions', function() {
 
   it('overlayToColor with invalid arg 2', function() {
     return functions.overlayToColor({}).then(function(colorString) {
-      throw new Error('Promise was unexpectedly fulfilled. Result: ' + colorString);
-    }, function rejected(error) {
-      assert.ok(error.indexOf("elementOverlay doesn't have neither color nor value set") >= 0);
+      assert.ok(colorString);
     });
   });
 
diff --git a/frontend-js/src/test/js/ServerConnector-test.js b/frontend-js/src/test/js/ServerConnector-test.js
index cb575f3384c06e952ffdc550afeecff86a8a2011..a4bfb5cc62b4a8e0766b4cb2679789abf7e20a5f 100644
--- a/frontend-js/src/test/js/ServerConnector-test.js
+++ b/frontend-js/src/test/js/ServerConnector-test.js
@@ -2,6 +2,8 @@
 
 require("./mocha-config.js");
 
+var Promise = require("bluebird");
+
 var HttpStatus = require('http-status-codes');
 
 var Alias = require('../../main/js/map/data/Alias');
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/ClearColorModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/ClearColorModelCommand.java
index 891434f015e8b5a93073963b4f34532f7317c20f..64a211a66469f91641e9b2555a2a4d5af16eb6a4 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/ClearColorModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/ClearColorModelCommand.java
@@ -26,7 +26,7 @@ public class ClearColorModelCommand extends ModelCommand {
 	 */
 	public ClearColorModelCommand(Model model) {
 		super(model);
-		colorModelCommand = new ColorModelCommand(model, new ArrayList<>(), new ColorExtractor(Color.WHITE, Color.WHITE));
+		colorModelCommand = new ColorModelCommand(model, new ArrayList<>(), new ColorExtractor(Color.WHITE, Color.WHITE, Color.WHITE));
 	}
 
 	@Override
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/ColorExtractor.java b/model-command/src/main/java/lcsb/mapviewer/commands/ColorExtractor.java
index 1a6d5d5d31976885404440319dab3dc8e4304507..0638978854921b447bdf5ec20ae3cff3865c5cff 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/ColorExtractor.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/ColorExtractor.java
@@ -24,6 +24,8 @@ public class ColorExtractor {
 	 */
 	private Color	maxColor;
 
+	private Color	simpleColor;
+
 	/**
 	 * Default constructor.
 	 * 
@@ -34,12 +36,13 @@ public class ColorExtractor {
 	 *          Color that should be used for max values of
 	 *          {@link ColorSchema#value}
 	 */
-	public ColorExtractor(Color minColor, Color maxColor) {
-		if (minColor == null || maxColor == null) {
+	public ColorExtractor(Color minColor, Color maxColor, Color simpleColor) {
+		if (minColor == null || maxColor == null || simpleColor == null) {
 			throw new InvalidArgumentException("Parameters cannot be null");
 		}
 		this.minColor = minColor;
 		this.maxColor = maxColor;
+		this.simpleColor = simpleColor;
 	}
 
 	/**
@@ -53,6 +56,8 @@ public class ColorExtractor {
 	public Color getNormalizedColor(ColorSchema colorSchema) {
 		if (colorSchema.getColor() != null) {
 			return colorSchema.getColor();
+		} else if (colorSchema.getValue() == null) {
+			return simpleColor;
 		} else {
 			return getColorForValue(colorSchema.getValue());
 		}
@@ -93,4 +98,8 @@ public class ColorExtractor {
 	public Color getMaxColor() {
 		return maxColor;
 	}
+	
+	public Color getSimpleColor() {
+		return simpleColor;
+	}
 }
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java
index 14d934650b6eec46884d8f889e27d8e8472fcbbc..8bc1cd05cba8f5a21e96fb2a700abbe6dcf54369 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java
@@ -31,7 +31,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 public class ColorModelCommandTest extends CommandTestFunctions {
 	Logger				 logger					= Logger.getLogger(ColorModelCommandTest.class);
 
-	ColorExtractor colorExtractor	= new ColorExtractor(Color.RED, Color.GREEN);
+	ColorExtractor colorExtractor	= new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java
index 71e8845ee329681ac3b0d57562ef0826288abc30..8ff0f95344526a7e9e12cd455af360f510d71a1d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java
@@ -126,7 +126,12 @@ public enum ConfigurationElementType {
 	/**
 	 * Color used for positive overlay values.
 	 */
-	MAX_COLOR_VAL("Overlay color for postive values", "0000FF", ConfigurationElementEditType.COLOR, false);
+	MAX_COLOR_VAL("Overlay color for postive values", "0000FF", ConfigurationElementEditType.COLOR, false),
+	
+	/**
+	 * Color used for undefined overlay values.
+	 */
+	SIMPLE_COLOR_VAL("Overlay color when no values are defined", "00FF00", ConfigurationElementEditType.COLOR, false);
 
 	/**
 	 * Default value of the configuration parameter (it will be used only when
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/User.java b/model/src/main/java/lcsb/mapviewer/model/user/User.java
index 3cc421f8f51a6d229836e00d244be48821b286f4..216c7837dbf52005d912857520f45af158284698 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/User.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/User.java
@@ -80,6 +80,13 @@ public class User implements Serializable {
 	 */
 	private Color								 maxColor;
 
+	/**
+	 * User defined color overriding system
+	 * {@link ConfigurationElementType#SIMPLE_COLOR_VAL}. Used for coloring
+	 * overlays without values and colors.
+	 */
+	private Color								 simpleColor;
+
 	/**
 	 * Is the user removed.
 	 */
@@ -309,4 +316,21 @@ public class User implements Serializable {
 		this.maxColor = maxColor;
 	}
 
+	/**
+	 * @return the simpleColor
+	 * @see #simpleColor
+	 */
+	public Color getSimpleColor() {
+		return simpleColor;
+	}
+
+	/**
+	 * @param simpleColor
+	 *          the simpleColor to set
+	 * @see #simpleColor
+	 */
+	public void setSimpleColor(Color simpleColor) {
+		this.simpleColor = simpleColor;
+	}
+
 }
diff --git a/persist/src/db/11/fix_db_20170725.sql b/persist/src/db/11/fix_db_20170725.sql
new file mode 100644
index 0000000000000000000000000000000000000000..37a66ace4e369cad3a43817851e970acbd5eae04
--- /dev/null
+++ b/persist/src/db/11/fix_db_20170725.sql
@@ -0,0 +1,2 @@
+--simple color for coloring
+alter table user_table  add column simplecolor bytea;
\ No newline at end of file
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
index cba3a43808693c1ebe96e3858c2a5b76aa157f2a..41af2e14c2428ce1486c00498ab8f8ef756260e7 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
@@ -313,8 +313,7 @@ public class ProjectRestImpl extends BaseRestImpl {
 				level(level - Configuration.MIN_ZOOM_LEVEL).//
 				nested(false).// automatically set nested view as invalid
 				scale(scale).//
-				minColor(colorExtractor.getMinColor()).//
-				maxColor(colorExtractor.getMaxColor()).//
+				colorExtractor(colorExtractor).//
 				sbgn(topModel.getProject().isSbgnFormat()).//
 				model(colorModel);
 		if (overlay != null) {
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java
index 1aef78c3c4651cfd214cb0854984783a3ef8f0ce..bcd07b094b7ae9854fe2952e8f656493de13458f 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java
@@ -76,6 +76,7 @@ public class UserRestImpl {
 			columnsSet.add("email");
 			columnsSet.add("minColor");
 			columnsSet.add("maxColor");
+			columnsSet.add("simpleColor");
 			columnsSet.add("removed");
 			columnsSet.add("privileges");
 		} else {
@@ -105,6 +106,8 @@ public class UserRestImpl {
 				value = user.getMinColor();
 			} else if (column.equals("maxcolor")) {
 				value = user.getMaxColor();
+			} else if (column.equals("simplecolor")) {
+				value = user.getSimpleColor();
 			} else if (column.equals("removed")) {
 				value = user.isRemoved();
 			} else if (column.equals("privileges") && admin) {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java b/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java
index d1b2df719b2095c1424414e012dd19b1af3183d7..78513655c609304555e06f3ca6582b3cec52fca2 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java
@@ -935,7 +935,7 @@ public class LayoutService implements ILayoutService {
 			ColorSchemaReader reader = new ColorSchemaReader();
 			Collection<ColorSchema> schemas = reader.readColorSchema(getInputDataForLayout(layoutId, token));
 			// colors here are not important
-			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK));
+			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK, Color.BLACK));
 			LightLayoutAliasViewFactory factory = new LightLayoutAliasViewFactory();
 			List<LightLayoutAliasView> result = new ArrayList<>();
 			for (Map.Entry<Object, ColorSchema> entry : command.getModifiedElements().entrySet()) {
@@ -957,7 +957,7 @@ public class LayoutService implements ILayoutService {
 			ColorSchemaReader reader = new ColorSchemaReader();
 			Collection<ColorSchema> schemas = reader.readColorSchema(getInputDataForLayout(layoutId, token));
 			// colors here are not important
-			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK));
+			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK, Color.BLACK));
 			LightLayoutReactionViewFactory factory = new LightLayoutReactionViewFactory();
 			List<LightLayoutReactionView> result = new ArrayList<>();
 			for (Map.Entry<Object, ColorSchema> entry : command.getModifiedElements().entrySet()) {
@@ -980,7 +980,7 @@ public class LayoutService implements ILayoutService {
 			Collection<ColorSchema> schemas;
 			schemas = reader.readColorSchema(getInputDataForLayout(layoutId, token));
 			// colors here are not important
-			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK));
+			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK, Color.BLACK));
 			return command.getModifiedElements();
 		} catch (InvalidColorSchemaException e) {
 			throw new InvalidStateException(e);
@@ -1002,7 +1002,7 @@ public class LayoutService implements ILayoutService {
 			Collection<ColorSchema> schemas;
 			schemas = reader.readColorSchema(getInputDataForLayout(layoutId, token));
 			// colors here are not important
-			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK));
+			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK, Color.BLACK));
 			FullLayoutAliasViewFactory factory = new FullLayoutAliasViewFactory();
 			List<FullLayoutAliasView> result = new ArrayList<>();
 
@@ -1059,7 +1059,7 @@ public class LayoutService implements ILayoutService {
 			Collection<ColorSchema> schemas;
 			schemas = reader.readColorSchema(getInputDataForLayout(layoutId, token));
 			// colors here are not important
-			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK));
+			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK, Color.BLACK));
 			FullLayoutAliasViewFactory factory = new FullLayoutAliasViewFactory();
 
 			for (Map.Entry<Object, ColorSchema> entry : command.getModifiedElements().entrySet()) {
@@ -1085,7 +1085,7 @@ public class LayoutService implements ILayoutService {
 			Collection<ColorSchema> schemas;
 			schemas = reader.readColorSchema(getInputDataForLayout(layoutId, token));
 			// colors here are not important
-			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK));
+			ColorModelCommand command = new ColorModelCommand(model, schemas, new ColorExtractor(Color.BLACK, Color.BLACK, Color.BLACK));
 			FullLayoutReactionViewFactory factory = new FullLayoutReactionViewFactory();
 
 			for (Map.Entry<Object, ColorSchema> entry : command.getModifiedElements().entrySet()) {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java b/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
index 15e752a460c776dedfb1db301500c70e9e53a94c..25fa736447967dcb84d4d2f063ccdb70fe10b25a 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
@@ -473,11 +473,13 @@ public class UserService implements IUserService {
 	public ColorExtractor getColorExtractorForUser(User loggedUser) {
 		Color colorMin = null;
 		Color colorMax = null;
+		Color colorSimple = null;
 		if (loggedUser != null) {
 			User dbUser = getUserById(loggedUser.getId());
 			if (dbUser != null) {
 				colorMin = dbUser.getMinColor();
 				colorMax = dbUser.getMaxColor();
+				colorSimple = dbUser.getSimpleColor();
 			}
 		}
 		ColorParser parser = new ColorParser();
@@ -488,7 +490,10 @@ public class UserService implements IUserService {
 		if (colorMax == null) {
 			colorMax = parser.parse(configurationService.getConfigurationValue(ConfigurationElementType.MAX_COLOR_VAL));
 		}
-		return new ColorExtractor(colorMin, colorMax);
+		if (colorSimple == null) {
+			colorSimple = parser.parse(configurationService.getConfigurationValue(ConfigurationElementType.SIMPLE_COLOR_VAL));
+		}
+		return new ColorExtractor(colorMin, colorMax, colorSimple);
 	}
 
 	/**
diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
index 94efeff004bd03caad4b272cf9f8d159c8d6bfa1..3d856d3868a883178a88bcc15e7f538993fa766c 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
@@ -573,7 +573,7 @@ public class ColorSchemaReader {
 				String[] values = line.split("\t", -1);
 				ColorSchema schema = new GenericColorSchema();
 				processNameColumn(schema, values[0]);
-				schema.setValue(1.0);
+				schema.setDescription("");
 				result.add(schema);
 				line = br.readLine();
 			}
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest2.java b/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest2.java
index 3d409a1875ba3518299d2c78f88b95ec5cc1d51c..0d39e9cb6d0e88baaf86092b6775bf51f84a09f7 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest2.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest2.java
@@ -37,7 +37,7 @@ import lcsb.mapviewer.services.utils.data.ColorSchemaType;
 
 public class LayoutServiceTest2 {
 	Logger				 logger					= Logger.getLogger(LayoutServiceTest2.class);
-	ColorExtractor colorExtractor	= new ColorExtractor(Color.RED, Color.GREEN);
+	ColorExtractor colorExtractor	= new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
index 38c9407b576bc47ea3f6eb74f173dff5c0cee8e3..4553b58724e916c312df2e16878c6d6076091161 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
@@ -224,7 +224,7 @@ public class ColorSchemaReaderTest extends ServiceTestFunctions {
 	@Test
 	public void testColoring3() throws Exception {
 		try {
-			ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN);
+			ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
 			Model model = getModelForFile("testFiles/coloring/protein_to_color.xml", false);