diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/AnnotatorParamDefinition.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/AnnotatorParamDefinition.java
index c3c3bda40c3f482c05713c8be1fd18f2a8e69233..3d13f4181e468d27339e7b810b281ec99bfa6e7a 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/AnnotatorParamDefinition.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/AnnotatorParamDefinition.java
@@ -13,7 +13,7 @@ public class AnnotatorParamDefinition {
 	
 	private Class<?> type;
 
-	public AnnotatorParamDefinition(String name, String decription, Class<?> type) {
+	public AnnotatorParamDefinition(String name, Class<?> type, String decription) {
 		super();
 		this.name = name;
 		this.decription = decription;
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java
index 75bc68e62ffb04467504ecf8851bf199f7290ac1..a3df6fdc1a2a56dd9893eea4a9a1007562f77e3a 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java
@@ -3,9 +3,7 @@ package lcsb.mapviewer.annotation.services.annotators;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.List;
-import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.log4j.Logger;
@@ -17,7 +15,6 @@ import lcsb.mapviewer.annotation.cache.WebPageDownloader;
 import lcsb.mapviewer.annotation.services.ExternalServiceStatus;
 import lcsb.mapviewer.annotation.services.ExternalServiceStatusType;
 import lcsb.mapviewer.annotation.services.IExternalService;
-import lcsb.mapviewer.annotation.services.WrongResponseCodeIOException;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -46,11 +43,6 @@ public class BrendaAnnotator extends ElementAnnotator implements IExternalServic
 	@Autowired
 	private TairAnnotator		tairAnnotator;	
 
-	/**
-	 * Pattern used for finding EC symbol from UniProt page .
-	 */
-	private Pattern				uniprotECMatcher	= Pattern.compile("EC=((\\d+\\.-\\.-\\.-)|(\\d+\\.\\d+\\.-\\.-)|(\\d+\\.\\d+\\.\\d+\\.-)|(\\d+\\.\\d+\\.\\d+\\.\\d+))");
-
 	/**
 	 * Default constructor.
 	 */
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java
index 763241dd961e300632233ad8c99bc575cca3bf23..a3fe33f3d337c9c841e0905945554c91b0fe64d0 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java
@@ -182,8 +182,7 @@ public abstract class ElementAnnotator extends CachableInterface {
 	/**
 	 * Returns list with definitions of the parameters available for this annotator.
 	 * @return the parameters {@link AnnotatorParamDefinition} list
-	 */
-	
+	 */	
 	public Collection<AnnotatorParamDefinition> getParametersDefinitions(){
 		return paramsDefs;
 	}
@@ -532,6 +531,24 @@ public abstract class ElementAnnotator extends CachableInterface {
 		}
 	}
 	
+	/**
+	 * Sets definitions of parameters for given annotator.
+	 * @param paramDefs
+	 * 		definitions to be set
+	 */	
+	public void setParametersDefinitions(List<AnnotatorParamDefinition> paramDefs){
+		this.paramsDefs = paramDefs;
+	}
+	
+	/**
+	 * Adds parameter definition to the definitions of parameters for given annotator 
+	 * @param paramDef
+	 * 		parameter definition to be added 
+	 */
+	public void addParameterDefinition(AnnotatorParamDefinition paramDef){
+		this.paramsDefs.add(paramDef);
+	}
+	
 	/**
 	 * Sets MiriamData.annotator to this annotator
 	 * 
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java
index b7cd593c8d99a78aeea7d1b947a28397df869160..c9b04d8a53960a377b4ff7f887942621f0d10f0b 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java
@@ -100,7 +100,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
     try {
       GenericProtein proteinAlias = new GenericProtein("id");
       proteinAlias
-          .addMiriamData(new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, MiriamType.HGNC_SYMBOL, "SNCA"));
+          .addMiriamData(createMiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, MiriamType.HGNC_SYMBOL, "SNCA"));
       annotateElement(proteinAlias);
 
       if (proteinAlias.getFullName() == null || proteinAlias.getFullName().equals("")) {
@@ -182,16 +182,16 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
                   // add hgnc id only when there was no hgnc_id in the element
                   String id = getNodeValue(node);
                   id = id.replaceAll("HGNC:", "");
-                  element.addMiriamData(new MiriamData(MiriamType.HGNC, id));
+                  element.addMiriamData(createMiriamData(MiriamType.HGNC, id));
                 } else if (type.equals("ensembl_gene_id")) {
-                  element.addMiriamData(new MiriamData(MiriamType.ENSEMBL, getNodeValue(node)));
+                  element.addMiriamData(createMiriamData(MiriamType.ENSEMBL, getNodeValue(node)));
                 } else if (type.equals("entrez_id")) {
-                  element.addMiriamData(new MiriamData(MiriamType.ENTREZ, getNodeValue(node)));
+                  element.addMiriamData(createMiriamData(MiriamType.ENTREZ, getNodeValue(node)));
                 } else if (type.equals("symbol")) {
                   if (symbols.size() == 0) {
                     // add hgnc symbol annnotation only when there was no
                     // hgnc_symbol in the element
-                    element.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, getNodeValue(node)));
+                    element.addMiriamData(createMiriamData(MiriamType.HGNC_SYMBOL, getNodeValue(node)));
                   }
                   setSymbol(element, getNodeValue(node), prefix);
                 } else if (type.equals("name")) {
@@ -204,7 +204,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
                   for (int j = 0; j < sublist.getLength(); j++) {
                     Node subnode = sublist.item(j);
                     if (subnode.getNodeType() == Node.ELEMENT_NODE) {
-                      element.addMiriamData(new MiriamData(MiriamType.REFSEQ, getNodeValue(subnode)));
+                      element.addMiriamData(createMiriamData(MiriamType.REFSEQ, getNodeValue(subnode)));
                     }
                   }
                 } else if (type.equals("prev_symbol")) {
@@ -232,7 +232,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
                   for (int j = 0; j < sublist.getLength(); j++) {
                     Node subnode = sublist.item(j);
                     if (subnode.getNodeType() == Node.ELEMENT_NODE) {
-                      element.addMiriamData(new MiriamData(MiriamType.UNIPROT, getNodeValue(subnode)));
+                      element.addMiriamData(createMiriamData(MiriamType.UNIPROT, getNodeValue(subnode)));
                     }
                   }
                 }
@@ -316,7 +316,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
 									Node uniprotNode = uniprotList.item(j);
 									if (uniprotNode.getNodeType() == Node.ELEMENT_NODE) {
 										if (uniprotNode.getNodeName().equals("str")) {
-											result.add(new MiriamData(MiriamType.UNIPROT, uniprotNode.getTextContent()));
+											result.add(createMiriamData(MiriamType.UNIPROT, uniprotNode.getTextContent()));
 										}
 									}
 								}
@@ -372,7 +372,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
             if (node.getNodeName().equals("str")) {
               String type = getNodeAttr("name", node);
               if (type.equals("symbol")) {
-                return new MiriamData(MiriamType.HGNC_SYMBOL, node.getTextContent());
+                return createMiriamData(MiriamType.HGNC_SYMBOL, node.getTextContent());
               }
             }
           }
@@ -444,7 +444,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
               String type = getNodeAttr("name", node);
               if (type.equals("entrez_id")) {
                 String id = getNodeValue(node);
-                return new MiriamData(MiriamType.ENTREZ, id);
+                return createMiriamData(MiriamType.ENTREZ, id);
               }
             }
           }
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java
index 99a67fdf12b230aa5ed10716ce3be62c63ac8602..d02dab68420999703a8bf06da4fb3df3754883a1 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java
@@ -66,6 +66,13 @@ public class KeggAnnotator extends ElementAnnotator implements IExternalService
 	 */
 	public KeggAnnotator() {
 		super(KeggAnnotator.class, new Class[] { Protein.class, Gene.class, Rna.class }, false);
+		AnnotatorParamDefinition paramDef = new AnnotatorParamDefinition(
+				"KEGG organism identifier",				
+				String.class,
+				"Space-delimited list of organisms codes for which homologous genes"
+				+ " (GENE section in the KEGG enzyme record) should be imported."
+				+ " Currently ATH (Arabidopsis Thaliana) is supported.");
+		this.addParameterDefinition(paramDef);
 	}
 
 	@Override
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
index 3c2c45af31db02c679e38cdfebe7354cf9460041..91599e123b93fed1d8a092df780ce0f17b2517b7 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
@@ -51,13 +51,6 @@ public class PdbAnnotator extends ElementAnnotator implements IExternalService {
 	 */
 	private ElementUtils	elementUtils		= new ElementUtils();
 	
-	/**
-	 * Service used for annotation of proteins using {@link MiriamType#UNIPROT
-	 * uniprot}.
-	 */
-	@Autowired
-	private UniprotAnnotator		uniprotAnnotator;
-	
 	/**
 	 * Service used for annotation of proteins using {@link MiriamType#HGNC
 	 * hgnc} (this can include lookup and loading annotation from {@link 
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java
index 9dcac43bcde09b02bc3797f31ee10219c60f9b13..6a39ecd3b35f1fc8ea788e680bed675f481c0235 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java
@@ -186,7 +186,7 @@ public class TairAnnotator extends ElementAnnotator implements IExternalService
 
 	@Override
 	public String getCommonName() {
-		return MiriamType.TAIR_LOCUS.getCommonName();
+		return "TAIR";
 	}
 
 	@Override
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/AllAnnotatorTests.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/AllAnnotatorTests.java
index 96735e6957fb8682aa42780c29155642fc7185fe..5ac4db041ce95c39da38cad1fc1a6ad4b029fb0c 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/AllAnnotatorTests.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/AllAnnotatorTests.java
@@ -17,6 +17,7 @@ import org.junit.runners.Suite.SuiteClasses;
 		GoAnnotatorTest.class, //
 		HgncAnnotatorTest.class, //
 		KeggAnnotatorTest.class, //
+		MultipleAnnotatorsTest.class, //
 		PdbAnnotatorTest.class, //
 		ReconAnnotatorTest.class, //
 		StitchAnnotatorTest.class, //
diff --git a/frontend-js/src/main/css/global.css b/frontend-js/src/main/css/global.css
index 7d91c173bfbdfb008505e08b85fcf666f617ad75..d599f5b6cac82fa4a882af8668287d97aaedce1e 100644
--- a/frontend-js/src/main/css/global.css
+++ b/frontend-js/src/main/css/global.css
@@ -530,3 +530,55 @@ h1 {
 
 }
 
+.minerva-annotators-params {
+    margin-top: 10px;
+    border: 1px #ddd solid;
+}
+
+.minerva-annotator-params {    
+    padding: 5px;
+
+}
+.minerva-annotator-params-header {
+    font-weight: bold;
+    text-align: center;    
+    padding-bottom: 5px;
+}
+.minerva-annotator-param {
+    display: table;
+    width: 100%;
+    
+}
+
+.minerva-annotator-param-name {
+    display: table-cell;
+    vertical-align: middle;
+    width: 30%;
+    padding-right: 5px;
+    
+}
+
+.minerva-annotator-param-value {
+    display: table-cell;
+    width: 70%;
+}
+
+.minerva-annotator-param-value textarea {
+    width: 100%;
+    height: 100px;
+}
+
+.minerva-annotators-params-header {
+    position: relative
+}
+
+.minerva-annotators-params-header>div {
+    position: absolute;
+    left: 20px;
+    top: -11px;
+    background-color: white;
+    padding-left: 10px;
+    padding-right: 10px;
+    font-weight: bold;
+}
+
diff --git a/frontend-js/src/main/js/Functions.js b/frontend-js/src/main/js/Functions.js
index a369f12974ae1b005a4bbfd76d565d6cff8ae492..531b1c46d90b90a23caa1138af6a562261c0e509 100644
--- a/frontend-js/src/main/js/Functions.js
+++ b/frontend-js/src/main/js/Functions.js
@@ -261,6 +261,9 @@ Functions.createElement = function (params) {
   if (params.onclick !== null && params.onclick !== undefined) {
     result.onclick = params.onclick;
   }
+  if (params.onchange !== null && params.onchange !== undefined) {
+    result.onchange = params.onchange;
+  }
   if (params.href !== null && params.href !== undefined) {
     result.href = params.href;
   }
diff --git a/frontend-js/src/main/js/gui/admin/ChooseAnnotatorsDialog.js b/frontend-js/src/main/js/gui/admin/ChooseAnnotatorsDialog.js
index d4109916dd2dfb595238eb873128b684fa561e22..984e66b20f039ef169f4204aa2f78e36e5ea0b86 100644
--- a/frontend-js/src/main/js/gui/admin/ChooseAnnotatorsDialog.js
+++ b/frontend-js/src/main/js/gui/admin/ChooseAnnotatorsDialog.js
@@ -7,6 +7,8 @@ var DualListbox = require('dual-listbox').DualListbox;
 var GuiConnector = require("../../GuiConnector");
 var UserPreferences = require("../../map/data/UserPreferences");
 
+var InvalidArgumentError = require ('../../InvalidArgumentError');
+
 var Functions = require('../../Functions');
 var logger = require('../../logger');
 
@@ -33,15 +35,40 @@ ChooseAnnotatorsDialog.prototype.createGui = function () {
     content: "<div name='elementTree'/>"
   }));
 
-  content.appendChild(Functions.createElement({
+  var annotatorsDiv = Functions.createElement({
     type: "div",
-    style: "display:table-cell",
-    content: "<div name='annotatorListBox'/>"
+    style: "display:table-cell"    
+  });
+
+  annotatorsDiv.appendChild(Functions.createElement({
+    type: "div",    
+    name: "annotatorListBox"
+  }));
+
+  annotatorsDiv.appendChild(Functions.createElement({
+    type: "div",    
+    className: "minerva-annotators-params"    
   }));
 
+  content.appendChild(annotatorsDiv);  
+
   self.getElement().appendChild(content);
 };
 
+function onChangeParameterValue(element, user){
+  var value = element;
+  var name = $(element).siblings(".minerva-annotator-param-name").text();
+  var annotatorClassName = $(element).parent().parent().attr('name');
+   
+  var data = new UserPreferences();
+
+  var annotatorsParams = {};
+  annotatorsParams[annotatorClassName] = {name: value};
+  data.setAnnotatorsParameters(annotatorsParams);
+  return ServerConnector.updateUserPreferences({user: user, preferences: data}).then(null, GuiConnector.alert);
+  
+}
+
 ChooseAnnotatorsDialog.prototype.setElementType = function (elementType) {
   var self = this;
 
@@ -52,7 +79,9 @@ ChooseAnnotatorsDialog.prototype.setElementType = function (elementType) {
     return ServerConnector.getLoggedUser();
   }).then(function (user) {
     var element = $("[name='annotatorListBox']", self.getElement())[0];
+    var annotatorsParams = $(".minerva-annotators-params", self.getElement())[0];
     Functions.removeChildren(element);
+    Functions.removeChildren(annotatorsParams);
 
     var selectElement = Functions.createElement({
       type: "select",
@@ -69,14 +98,76 @@ ChooseAnnotatorsDialog.prototype.setElementType = function (elementType) {
       for (var j = 0; j < selectedAnnotators.length; j++) {
         if (annotator.getName() === selectedAnnotators[j]) {
           selected = true;
-        }
+          
+          var paramsDefs = annotator.getParametersDefinitions();
+          if (paramsDefs.length > 0) {
+            annotatorsParams.appendChild(Functions.createElement({
+              type: "div",    
+              className: "minerva-annotators-params-header",
+              content: '<div>Available parameters</div>'
+            }))
+
+            var annotatorParams = Functions.createElement({
+              type: "div",    
+              className: "minerva-annotator-params",
+              name: annotator.getClassName()
+            });
+  
+            annotatorParams.appendChild(Functions.createElement({
+              type: "div",    
+              className: "minerva-annotator-params-header",
+              content: annotator.getName()
+            }));
+
+            for (var k = 0; k < paramsDefs.length; k++) {
+              var param = paramsDefs[k];
+              var paramElement = Functions.createElement({
+                type: "div",    
+                className: "minerva-annotator-param"
+              });
+
+              paramElement.appendChild(Functions.createElement({
+                type: "div",
+                className: "minerva-annotator-param-name",
+                content: param.name
+              }));
+
+              var paramValue;
+              if (param.type.indexOf("String") >= 0) {
+                paramValue = Functions.createElement({
+                  type: "textarea",
+                  onchange: function(){return onChangeParameterValue(this, user);}
+                });
+              } else if (param.type.indexOf("Integer") >= 0) {
+                paramValue = Functions.createElement({
+                  type: "input",
+                  inputType: "number",
+                  onchange: function(){return onChangeParameterValue(this, user);}
+                });
+              } else if (param.type.indexOf("Boolean") >= 0) {
+                paramValue = Functions.createElement({
+                  type: "input",
+                  inputType: "checkbox",
+                  onchange: function(){return onChangeParameterValue(this, user);}
+                });
+              } else {
+                throw new InvalidAlgorithmError("Unknown annotator parameter type");
+              }              
+
+              paramElement.appendChild(paramValue);
+              annotatorParams.appendChild(paramElement);
+            }
+
+            annotatorsParams.appendChild(annotatorParams);
+          }
+        }      
       }
       var option = new Option();
       option.value = annotator.getClassName();
       option.attributes.selected = selected;
       option.innerHTML = "<div>" + annotator.getName() + "</div>";
       selectElement.appendChild(option);
-    }
+    };
 
     element.appendChild(selectElement);
     new DualListbox(selectElement, {
diff --git a/frontend-js/src/main/js/map/data/Annotator.js b/frontend-js/src/main/js/map/data/Annotator.js
index 9b821d8e3899a86552c914e0216959afc8dc5578..74d342558aa94e65fa4c5c1c601efd1d371598c0 100644
--- a/frontend-js/src/main/js/map/data/Annotator.js
+++ b/frontend-js/src/main/js/map/data/Annotator.js
@@ -12,11 +12,13 @@ function Annotator(javaObject, configuration) {
     self.setClassName(javaObject.getClassName());
     this._elementTypes = javaObject.getElementTypes();
     self.setName(javaObject.getName());
+    self.setParametersDefinitions(javaObject.getParametersDefinitions());
     self.setUrl(javaObject.getUrl());
   } else {
     self.setClassName(javaObject.className);
     self.setElementTypes(javaObject.elementClassNames, configuration);
     self.setName(javaObject.name);
+    self.setParametersDefinitions(javaObject.parametersDefinitions);
     self.setUrl(javaObject.url);
   }
 }
@@ -45,6 +47,14 @@ Annotator.prototype.getUrl = function () {
   return this._url;
 };
 
+Annotator.prototype.getParametersDefinitions = function () {
+  return this._parametersDefinitions;
+}
+
+Annotator.prototype.setParametersDefinitions = function (parametersDefinitions) {
+  this._parametersDefinitions = parametersDefinitions;
+}
+
 Annotator.prototype.setElementTypes = function (elementTypesClassNames, configuration) {
   this._elementTypes = [];
   var typeByClassName = {};
diff --git a/frontend-js/src/main/js/map/data/UserPreferences.js b/frontend-js/src/main/js/map/data/UserPreferences.js
index c3807b066432534e4921bf05360509001d24913a..a6b4383f1528ef7a6dc5b42863c41946f73cc975 100644
--- a/frontend-js/src/main/js/map/data/UserPreferences.js
+++ b/frontend-js/src/main/js/map/data/UserPreferences.js
@@ -10,11 +10,13 @@ function UserPreferences(javaObject) {
     this.setElementAnnotators(javaObject["element-annotators"]);
     this.setElementRequiredAnnotations(javaObject["element-required-annotations"]);
     this.setElementValidAnnotations(javaObject["element-valid-annotations"]);
+    this.setAnnotatorsParameters(javaObject["annotators-parameters"]);
   } else {
     this._projectUpload = {};
     this._elementAnnotators = {};
     this._elementRequiredAnnotations = {};
     this._elementValidAnnotations = {};
+    this._annotatorsParameters = {};
   }
 }
 
@@ -28,10 +30,16 @@ UserPreferences.prototype.setProjectUpload = function (projectUpload) {
     sbgn: projectUpload["sbgn"]
   };
 };
+UserPreferences.prototype.getAnnotatorsParameters = function () {
+  return this._annotatorsParameters;
+};
+UserPreferences.prototype.setAnnotatorsParameters = function (annotatorsParameters) {
+  this._annotatorsParameters = annotatorsParameters;
+};
 UserPreferences.prototype.getProjectUpload = function () {
   return this._projectUpload;
 };
-UserPreferences.prototype.setElementAnnotators = function (elementAnnotators) {
+UserPreferences.prototype .setElementAnnotators = function (elementAnnotators) {
   this._elementAnnotators = elementAnnotators;
 };
 UserPreferences.prototype.getElementAnnotators = function (className) {
@@ -82,7 +90,8 @@ UserPreferences.prototype.toExport = function () {
     },
     "element-annotators": this._elementAnnotators,
     "element-valid-annotations": this._elementValidAnnotations,
-    "element-required-annotations": requiredAnnotations
+    "element-required-annotations": requiredAnnotations,
+    "annotators-parameters": this.getAnnotatorsParameters()
   };
 };
 
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 a845b33e098b3681159205abc44eeac57c2f13f9..c87f7a62b88bdb1cb56a431d4efce665f429df1e 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
@@ -157,6 +157,10 @@ public class UserRestImpl extends BaseRestImpl {
       }
     }
   }
+  
+  private void updateAnnotatorsParams(UserAnnotationSchema schema, Map<String, Object> data) {
+	  
+  }
 
   private Map<String, Object> prepareRequiredAnnotations(List<UserClassRequiredAnnotations> classRequiredAnnotators) {
     Map<String, Object> result = new HashMap<>();
@@ -363,6 +367,9 @@ public class UserRestImpl extends BaseRestImpl {
 
       for (String key : preferencesData.keySet()) {
         Map<String, Object> value = (Map<String, Object>) preferencesData.get(key);
+        
+        logger.debug(key);
+        logger.debug(value);
 
         if (key.equals("project-upload")) {
           updateUploadPreferences(schema, value);
@@ -372,6 +379,8 @@ public class UserRestImpl extends BaseRestImpl {
           updateRequiredAnnotations(schema, value);
         } else if (key.equals("element-valid-annotations")) {
           updateValidAnnotations(schema, value);
+        }  else if (key.equals("annotators-parameters")) {
+        	updateAnnotatorsParams(schema, value);
         } else {
           throw new QueryException("Unknown preferences field: " + key);
         }