diff --git a/model/src/main/java/lcsb/mapviewer/model/Project.java b/model/src/main/java/lcsb/mapviewer/model/Project.java
index 9ae046103c4493dd572cfcc03c3f82e5a5134ad2..11c7642c20406ecae8fb379adc00b15f5072249c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/Project.java
+++ b/model/src/main/java/lcsb/mapviewer/model/Project.java
@@ -19,7 +19,6 @@ import javax.persistence.JoinColumn;
 import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
-import javax.persistence.Table;
 
 import org.apache.log4j.Appender;
 import org.apache.log4j.Logger;
@@ -48,7 +47,6 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "project_table")
 public class Project implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/cache/CacheType.java b/model/src/main/java/lcsb/mapviewer/model/cache/CacheType.java
index 34d4910b899a7ccaf7b2e5b0abf8ab12ccaa8faf..51a320daf6f7314aac9fb502ee4ee0ddf165fe8a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/cache/CacheType.java
+++ b/model/src/main/java/lcsb/mapviewer/model/cache/CacheType.java
@@ -16,7 +16,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "cache_type")
 public class CacheType implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/cache/FileEntry.java b/model/src/main/java/lcsb/mapviewer/model/cache/FileEntry.java
index 9a02e7dec1bad802de064c0725514732b93274c7..4e6e86518e93d675398244126b9e8c028286c26a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/cache/FileEntry.java
+++ b/model/src/main/java/lcsb/mapviewer/model/cache/FileEntry.java
@@ -24,7 +24,6 @@ import javax.persistence.Table;
  *
  */
 @Entity
-@Table(name = "file_entry")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "file_type_db", discriminatorType = DiscriminatorType.STRING)
 public abstract class FileEntry implements Serializable {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/Comment.java b/model/src/main/java/lcsb/mapviewer/model/map/Comment.java
index 6b057ef82ab3d943a1fad966257c849f53196ae4..19e25b0b6b57a22aca93f3ac17be39e283b4002f 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/Comment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/Comment.java
@@ -10,7 +10,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 import org.hibernate.annotations.Type;
 
@@ -25,7 +24,6 @@ import lcsb.mapviewer.model.user.User;
  * 
  */
 @Entity
-@Table(name = "feedback")
 public class Comment implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java b/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java
index 920ae38639a838e3524879da75f38d76992ae987..0438dc2fe50eba4dc598cceb7fed93aee41f0e71 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java
@@ -8,7 +8,6 @@ import javax.persistence.Enumerated;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.log4j.Logger;
@@ -23,7 +22,6 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
  * 
  */
 @Entity
-@Table(name = "miriam_data_table")
 @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy", strategy = "increment")
 @XmlRootElement
 public class MiriamData implements Comparable<MiriamData>, Serializable {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/OverviewImage.java b/model/src/main/java/lcsb/mapviewer/model/map/OverviewImage.java
index fee5414deba29d0225cfeecdca6cb8a62514e65f..72e0ee423dbd8d04fa610bc67442629fc36e7e79 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/OverviewImage.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/OverviewImage.java
@@ -12,7 +12,6 @@ import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
-import javax.persistence.Table;
 
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
@@ -31,7 +30,6 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "overview_image_table")
 public class OverviewImage implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/OverviewLink.java b/model/src/main/java/lcsb/mapviewer/model/map/OverviewLink.java
index 055badb567897543dff728614b0f6a1d296a0d70..150de91e50a556e20ff108156381ba7d0a79cc77 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/OverviewLink.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/OverviewLink.java
@@ -16,7 +16,6 @@ import javax.persistence.Id;
 import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 /**
  * Abstract class representing link that connects {@link OverviewImage parent
@@ -34,7 +33,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "overview_link_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "link_type", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("GENERIC_VIEW")
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java b/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java
index 2da6290762fa5d0c4e5a4f6b08f8a5dfac9acc18..d50ff698b3cb706c3d034c6ea261a5b839b9097a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java
@@ -7,7 +7,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 import org.apache.log4j.Logger;
 
@@ -23,7 +22,6 @@ import lcsb.mapviewer.model.map.species.Element;
  * 
  */
 @Entity
-@Table(name = "search_index_table")
 public class SearchIndex implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java
index e2ba0bf1a17760808838f5fe0f64fba90f66d6b1..1a078a021b42bcea4417d4261d6c96b9eca5cad8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java
@@ -15,7 +15,6 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.log4j.Logger;
@@ -29,7 +28,6 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "sbml_function")
 @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy", strategy = "increment")
 @XmlRootElement
 public class SbmlFunction implements Serializable, SbmlArgument {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java
index 1ea1d20a6f15bd5def74cdc73432f845e9b45fec..90340d4fba701fe3f78da9ea0dcaba3f7c04a641 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java
@@ -16,7 +16,6 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.JoinTable;
 import javax.persistence.ManyToMany;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.log4j.Logger;
@@ -32,7 +31,6 @@ import lcsb.mapviewer.model.map.species.Element;
  * 
  */
 @Entity
-@Table(name = "sbml_kinetics")
 @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy", strategy = "increment")
 @XmlRootElement
 public class SbmlKinetics implements Serializable {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java
index 038ef26ac8a73cc4212990488478fe46b028312d..4114af3054c34d5539d5d90b7fee35cd48383f1b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java
@@ -7,7 +7,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.log4j.Logger;
@@ -19,7 +18,6 @@ import org.apache.log4j.Logger;
  * 
  */
 @Entity
-@Table(name = "sbml_parameter")
 @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy", strategy = "increment")
 @XmlRootElement
 public class SbmlParameter implements Serializable, SbmlArgument {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java
index ad9be0855a013087b6d53f371a40f0f71fdef2af..93c5ab53eb1575f6bc6bb93ae3248c89138bcf0b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java
@@ -11,7 +11,6 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.log4j.Logger;
@@ -27,7 +26,6 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "sbml_unit")
 @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy", strategy = "increment")
 @XmlRootElement
 public class SbmlUnit implements Serializable {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java
index 6b3f6783d2ee7a40a026d0c3c0b06ad0ad720a06..64e876549ce72db3cde7ad9d7ce938aeda524928 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java
@@ -10,7 +10,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.log4j.Logger;
@@ -27,7 +26,6 @@ import org.apache.log4j.Logger;
  * 
  */
 @Entity
-@Table(name = "sbml_unit_factor")
 @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy", strategy = "increment")
 @XmlRootElement
 public class SbmlUnitTypeFactor implements Serializable {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenome.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenome.java
index e3540fa4db3f5eda3e25c3129f67c1f529310a08..ea3a0fbeae5dbaf603f82875e407afe64570983e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenome.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenome.java
@@ -14,7 +14,6 @@ import javax.persistence.Id;
 import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
-import javax.persistence.Table;
 
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
@@ -30,7 +29,6 @@ import lcsb.mapviewer.model.map.MiriamData;
  *
  */
 @Entity
-@Table(name = "reference_genome")
 public class ReferenceGenome implements Serializable {
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenomeGeneMapping.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenomeGeneMapping.java
index 158b26a66e7810494c7edaa9d2ef4cb8dff8113c..c69adf638d3ef2e44f830092e5c2622fa3bbdd1c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenomeGeneMapping.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/ReferenceGenomeGeneMapping.java
@@ -8,7 +8,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 /**
  * This object defines information about mapping genes to gene. This data is
@@ -21,7 +20,6 @@ import javax.persistence.Table;
  *
  */
 @Entity
-@Table(name = "reference_genome_gene_mapping")
 public class ReferenceGenomeGeneMapping implements Serializable {
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java
index a3bf929397c0d4544645dd7f9171722b7434bcd5..d3ca569b69050d4deee73b9e76e1e0a055f552a4 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java
@@ -15,7 +15,6 @@ import javax.persistence.JoinTable;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 
 import org.apache.log4j.Logger;
 import org.hibernate.annotations.Cascade;
@@ -33,7 +32,6 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "layer_table")
 public class Layer implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
index 64a8d09c13549e99f6bb8099827b8a6c1c4536e1..cfccd82386b6d5eb683fafd16d7a14eb707b1e52 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
@@ -20,7 +20,6 @@ import javax.persistence.ManyToMany;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
-import javax.persistence.Table;
 import javax.persistence.Transient;
 import javax.xml.bind.annotation.XmlTransient;
 
@@ -56,7 +55,6 @@ import lcsb.mapviewer.model.map.species.Element;
  * 
  */
 @Entity
-@Table(name = "model_table")
 public class ModelData implements Serializable {
 
   /**
@@ -117,7 +115,7 @@ public class ModelData implements Serializable {
 
   @Cascade({ CascadeType.ALL })
   @ManyToMany(fetch = FetchType.EAGER)
-  @JoinTable(name = "model_parameters", joinColumns = {
+  @JoinTable(name = "model_parameters_table", joinColumns = {
       @JoinColumn(name = "model_id", referencedColumnName = "id", nullable = false, updatable = false) }, inverseJoinColumns = {
           @JoinColumn(name = "parameter_id", referencedColumnName = "id", nullable = true, updatable = true) })
   private Set<SbmlParameter> parameters = new HashSet<>();
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java
index d3fbc2027ff027de8c95169fd4c399baca2115ce..406aa59362f98cd6b9a3fc97ec4e90b2daffec11 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java
@@ -27,7 +27,6 @@ import org.apache.log4j.Logger;
  * 
  */
 @Entity
-@Table(name = "submodel_connection_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "submodel_connections_type_db", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("SUBMODEL_CONNECTION")
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNode.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNode.java
index 4b19c5a06cd182b830fdb28ef00566c8c36d2210..ffd6962b23b1924a0b1a745604304731ae29434c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNode.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNode.java
@@ -38,10 +38,10 @@ import lcsb.mapviewer.model.graphics.PolylineData;
  * 
  */
 @Entity
-@Table(name = "node_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "node_type_db", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("GENERIC_NODE")
+@Table(name = "reaction_node_table")
 public abstract class AbstractNode implements Serializable {
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java
index 3eccdb2b155c3c1889ee105f2a405e15a032fbe4..3820a84ddcbceff5390c13e4fbd63266aea202c1 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java
@@ -30,7 +30,6 @@ import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlTransient;
 
 import org.apache.log4j.Logger;
@@ -73,7 +72,6 @@ import lcsb.mapviewer.model.map.species.Element;
  * 
  */
 @Entity
-@Table(name = "reaction_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "reaction_type_db", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("GENERIC_REACTION")
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
index 81623b6a082880eea3f8a624f7f5ec4921f50348..ab8c1b997cd4661068732b00f555684bf545fb74 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
@@ -30,7 +30,6 @@ import javax.persistence.ManyToMany;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 import javax.xml.bind.annotation.XmlTransient;
 
 import org.apache.log4j.Logger;
@@ -57,7 +56,6 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "element_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "element_type_db", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("GENERIC")
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java
index ed4820c79257070944cbede32a10258f669eedc3..6696a13000f88ddae64514fb45ea4847cd82332e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java
@@ -16,7 +16,6 @@ import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 import org.apache.log4j.Logger;
 import org.hibernate.annotations.Type;
@@ -32,7 +31,6 @@ import lcsb.mapviewer.model.map.species.Species;
  */
 
 @Entity
-@Table(name = "modification_residue_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "modification_type", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("GENERIC_MODIFICATION_RESIDUE")
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/Structure.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/Structure.java
index 4dc712a3b875c69d506eb994aadeaa13da45ecea..6eaa87c618234f5e06b53a7f874c070239fc34d7 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/Structure.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/Structure.java
@@ -11,7 +11,6 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -32,9 +31,6 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
  * 
  */
 @Entity
-@Table(name = "structure_table")
-// @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy",
-// strategy = "increment")
 public class Structure implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/UniprotRecord.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/UniprotRecord.java
index f595b130089139fb54b125b6df4d602afc512d6a..b735554f7a3b61e67d9b7a37e280263a2115b1ac 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/UniprotRecord.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/UniprotRecord.java
@@ -14,7 +14,6 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
-import javax.persistence.Table;
 
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
@@ -31,9 +30,6 @@ import lcsb.mapviewer.model.map.species.Species;
  */
 
 @Entity
-@Table(name = "uniprot_table")
-// @org.hibernate.annotations.GenericGenerator(name = "test-increment-strategy",
-// strategy = "increment")
 public class UniprotRecord implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/statistics/SearchHistory.java b/model/src/main/java/lcsb/mapviewer/model/map/statistics/SearchHistory.java
index 6fe5be58b183679bb4f0f5d55a111a303a48ae01..4769fddc83c1e47164da8a7c9eeb7f21e40372ff 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/statistics/SearchHistory.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/statistics/SearchHistory.java
@@ -10,7 +10,6 @@ import javax.persistence.Enumerated;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
-import javax.persistence.Table;
 
 /**
  * This object describe single search event entry. It's used for gathering some
@@ -20,7 +19,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "history_table")
 public class SearchHistory implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/plugin/Plugin.java b/model/src/main/java/lcsb/mapviewer/model/plugin/Plugin.java
index 11d48d1df1b7c7ea3520560e1cc107eafee8be17..9a7500d06159759171d529f6f75a03bfce497513 100644
--- a/model/src/main/java/lcsb/mapviewer/model/plugin/Plugin.java
+++ b/model/src/main/java/lcsb/mapviewer/model/plugin/Plugin.java
@@ -13,7 +13,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
-import javax.persistence.Table;
 
 import lcsb.mapviewer.common.comparator.IntegerComparator;
 
@@ -24,7 +23,6 @@ import lcsb.mapviewer.common.comparator.IntegerComparator;
  * 
  */
 @Entity
-@Table(name = "plugin_table")
 public class Plugin implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/plugin/PluginDataEntry.java b/model/src/main/java/lcsb/mapviewer/model/plugin/PluginDataEntry.java
index 87ce8fdf032de28279ba1f1b194961279d47fa48..27c0e6b03b067e9bd219ae0f1f5b47816cccddb0 100644
--- a/model/src/main/java/lcsb/mapviewer/model/plugin/PluginDataEntry.java
+++ b/model/src/main/java/lcsb/mapviewer/model/plugin/PluginDataEntry.java
@@ -9,7 +9,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 import lcsb.mapviewer.model.user.User;
 
@@ -20,7 +19,6 @@ import lcsb.mapviewer.model.user.User;
  * 
  */
 @Entity
-@Table(name = "plugin_data_entry")
 public class PluginDataEntry implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationOption.java b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationOption.java
index 859747533a20f19f4b3fa5610cc17de3c2b4168a..2c5c863b00e7dedb2f72cd819c13289b49e97b6d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationOption.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationOption.java
@@ -8,7 +8,6 @@ import javax.persistence.Enumerated;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
-import javax.persistence.Table;
 
 /**
  * This class represents one configurable parameter of the system.
@@ -17,7 +16,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "configuration_table")
 public class ConfigurationOption implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/ObjectPrivilege.java b/model/src/main/java/lcsb/mapviewer/model/user/ObjectPrivilege.java
index 085b035727befa7a8f1480f1abe0c49f33071602..7501a98380ac2a2fe012db814e43146401e537e8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/ObjectPrivilege.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/ObjectPrivilege.java
@@ -9,7 +9,7 @@ import lcsb.mapviewer.common.ObjectUtils;
 import lcsb.mapviewer.common.comparator.IntegerComparator;
 
 /**
- * This class extends {@link BasicPrivilege} class which define typical user
+ * This class extends {@link Privilege} class which define typical user
  * privilege. The extension introduces specific object in the model to which
  * privilege is given.
  * 
@@ -18,7 +18,7 @@ import lcsb.mapviewer.common.comparator.IntegerComparator;
  */
 @Entity
 @DiscriminatorValue("OBJECT_PRIVILEGE")
-public class ObjectPrivilege extends BasicPrivilege implements Serializable {
+public class ObjectPrivilege extends Privilege implements Serializable {
 
   /**
    * 
@@ -57,7 +57,7 @@ public class ObjectPrivilege extends BasicPrivilege implements Serializable {
   }
 
   @Override
-  public boolean equalsPrivilege(BasicPrivilege privilege) {
+  public boolean equalsPrivilege(Privilege privilege) {
     if (privilege == null) {
       return false;
     }
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/BasicPrivilege.java b/model/src/main/java/lcsb/mapviewer/model/user/Privilege.java
similarity index 88%
rename from model/src/main/java/lcsb/mapviewer/model/user/BasicPrivilege.java
rename to model/src/main/java/lcsb/mapviewer/model/user/Privilege.java
index 8d7e39c7759e0defec1db56c67556fbaa71c3e84..1aca90abddbda8d02b6a58830bad4ef78173ca88 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/BasicPrivilege.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/Privilege.java
@@ -16,7 +16,6 @@ import javax.persistence.Id;
 import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 import lcsb.mapviewer.common.comparator.IntegerComparator;
 
@@ -28,21 +27,20 @@ import lcsb.mapviewer.common.comparator.IntegerComparator;
  * 
  */
 @Entity
-@Table(name = "privilege_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
 @DiscriminatorColumn(name = "privilege_class_type_db", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("BASIC_PRIVILEGE")
-public class BasicPrivilege implements Serializable {
+public class Privilege implements Serializable {
 
   /**
    * 
    */
   private static final long serialVersionUID = 1L;
 
-  public static final Comparator<? super BasicPrivilege> ID_COMPARATOR = new Comparator<BasicPrivilege>() {
+  public static final Comparator<? super Privilege> ID_COMPARATOR = new Comparator<Privilege>() {
 
     @Override
-    public int compare(BasicPrivilege o1, BasicPrivilege o2) {
+    public int compare(Privilege o1, Privilege o2) {
       return new IntegerComparator().compare(o1.getId(), o2.getId());
     }
   };
@@ -83,7 +81,7 @@ public class BasicPrivilege implements Serializable {
    * @param user
    *          user for which this privilege is set
    */
-  public BasicPrivilege(int level, PrivilegeType type, User user) {
+  public Privilege(int level, PrivilegeType type, User user) {
     this.level = level;
     this.type = type;
     this.user = user;
@@ -92,7 +90,7 @@ public class BasicPrivilege implements Serializable {
   /**
    * Default constructor.
    */
-  public BasicPrivilege() {
+  public Privilege() {
   }
 
   /**
@@ -104,7 +102,7 @@ public class BasicPrivilege implements Serializable {
    * @return <code>true</code> if privilege is of the same type as an argument,
    *         <code>false</code> otherwise
    */
-  public boolean equalsPrivilege(BasicPrivilege privilege) {
+  public boolean equalsPrivilege(Privilege privilege) {
     if (privilege == null) {
       return false;
     }
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/PrivilegeType.java b/model/src/main/java/lcsb/mapviewer/model/user/PrivilegeType.java
index b53d20049dab0cafc4c111aeaee33164b233fb98..aba1b94652f7e4ff4dea856a5dfb72c4a734b2de 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/PrivilegeType.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/PrivilegeType.java
@@ -19,7 +19,7 @@ public enum PrivilegeType {
   /**
    * User can add project.
    */
-  ADD_MAP(BasicPrivilege.class, null, "Add project"),
+  ADD_MAP(Privilege.class, null, "Add project"),
 
   /**
    * User can edit comments in the project.
@@ -29,17 +29,17 @@ public enum PrivilegeType {
   /**
    * User can manage projects.
    */
-  PROJECT_MANAGEMENT(BasicPrivilege.class, null, "Map management"),
+  PROJECT_MANAGEMENT(Privilege.class, null, "Map management"),
 
   /**
    * User can manage users.
    */
-  USER_MANAGEMENT(BasicPrivilege.class, null, "User management"),
+  USER_MANAGEMENT(Privilege.class, null, "User management"),
 
   /**
    * User can have custom layouts (access level defines how many).
    */
-  CUSTOM_LAYOUTS(BasicPrivilege.class, null, "Custom overlays", true),
+  CUSTOM_LAYOUTS(Privilege.class, null, "Custom overlays", true),
 
   /**
    * User can view non-public layout.
@@ -49,7 +49,7 @@ public enum PrivilegeType {
   /**
    * User can manage configuration.
    */
-  CONFIGURATION_MANAGE(BasicPrivilege.class, null, "Manage configuration"),
+  CONFIGURATION_MANAGE(Privilege.class, null, "Manage configuration"),
 
   /**
    * User can manage layouts of all users in the project.
@@ -59,17 +59,17 @@ public enum PrivilegeType {
   /**
    * User can manage reference genomes.
    */
-  MANAGE_GENOMES(BasicPrivilege.class, null, "Manage genomes"),
+  MANAGE_GENOMES(Privilege.class, null, "Manage genomes"),
 
   /**
    * User can manage preferences
    */
-  MANAGE_PLUGINS(BasicPrivilege.class, null, "Manage plugins");
+  MANAGE_PLUGINS(Privilege.class, null, "Manage plugins");
 
   /**
    * Type of privilege (basic or privilege to the object).
    */
-  private Class<? extends BasicPrivilege> privilegeClassType;
+  private Class<? extends Privilege> privilegeClassType;
 
   /**
    * Type of the object to which privilege refers.
@@ -96,7 +96,7 @@ public enum PrivilegeType {
    * @param commonName
    *          {@link #commonName}
    */
-  PrivilegeType(Class<? extends BasicPrivilege> privilegeClazz, Class<?> objectClazz, String commonName) {
+  PrivilegeType(Class<? extends Privilege> privilegeClazz, Class<?> objectClazz, String commonName) {
     this.privilegeClassType = privilegeClazz;
     this.privilegeObjectType = objectClazz;
     this.commonName = commonName;
@@ -114,7 +114,7 @@ public enum PrivilegeType {
    * @param numeric
    *          {@link #numeric}
    */
-  PrivilegeType(Class<? extends BasicPrivilege> privilegeClazz, Class<?> objectClazz, String commonName,
+  PrivilegeType(Class<? extends Privilege> privilegeClazz, Class<?> objectClazz, String commonName,
       boolean numeric) {
     this.privilegeClassType = privilegeClazz;
     this.privilegeObjectType = objectClazz;
@@ -126,7 +126,7 @@ public enum PrivilegeType {
    * 
    * @return {@link #privilegeClassType}
    */
-  public Class<? extends BasicPrivilege> getPrivilegeClassType() {
+  public Class<? extends Privilege> getPrivilegeClassType() {
     return privilegeClassType;
   }
 
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 aab0ff98254c4421045804d68766b4531f1cc4f0..4909435c87cea418119de48fd1c9bfb73213c8fe 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/User.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/User.java
@@ -19,7 +19,6 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
-import javax.persistence.Table;
 
 import org.hibernate.annotations.Cascade;
 
@@ -32,7 +31,6 @@ import lcsb.mapviewer.common.comparator.StringComparator;
  * 
  */
 @Entity
-@Table(name = "user_table")
 public class User implements Serializable {
 
   /**
@@ -139,7 +137,7 @@ public class User implements Serializable {
    * Set of user privileges.
    */
   @OneToMany(fetch = FetchType.EAGER, mappedBy = "user", orphanRemoval = true, cascade = CascadeType.ALL)
-  private Set<BasicPrivilege> privileges = new HashSet<>();
+  private Set<Privilege> privileges = new HashSet<>();
 
   /**
    * Default annotations schema used by this user.
@@ -160,7 +158,7 @@ public class User implements Serializable {
    * @param privilege
    *          privilege to add
    */
-  public void addPrivilege(BasicPrivilege privilege) {
+  public void addPrivilege(Privilege privilege) {
     privileges.add(privilege);
   }
 
@@ -270,7 +268,7 @@ public class User implements Serializable {
    * @return the privileges
    * @see #privileges
    */
-  public Set<BasicPrivilege> getPrivileges() {
+  public Set<Privilege> getPrivileges() {
     return privileges;
   }
 
@@ -279,7 +277,7 @@ public class User implements Serializable {
    *          the privileges to set
    * @see #privileges
    */
-  public void setPrivileges(Set<BasicPrivilege> privileges) {
+  public void setPrivileges(Set<Privilege> privileges) {
     this.privileges = privileges;
   }
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java b/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java
index eb4f5b5faef4ee653755d4a7e36d95ba21c12471..3da219851c429049ad3f537c79255c77c9898250 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java
@@ -14,7 +14,6 @@ import javax.persistence.Id;
 import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
-import javax.persistence.Table;
 import javax.persistence.Transient;
 
 import org.apache.log4j.Logger;
@@ -33,7 +32,6 @@ import lcsb.mapviewer.model.map.MiriamType;
  * 
  */
 @Entity
-@Table(name = "user_annotation_schema_table")
 public class UserAnnotationSchema implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotatorsParam.java b/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotatorsParam.java
index ec367568a293c421b846f607cb5611e22d4c885d..787ba75e919dfcc69df14b13f4bb4111c9153276 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotatorsParam.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotatorsParam.java
@@ -8,7 +8,6 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 /**
  * This class defines set of annotators parameters that are used by a user.
@@ -17,7 +16,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "annotators_params_table")
 public class UserAnnotatorsParam implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserClassAnnotators.java b/model/src/main/java/lcsb/mapviewer/model/user/UserClassAnnotators.java
index fae45c19b9441bf6b633b355cd7c692d59891237..958d3df52e6680d7138d0b88ea03093d3a2e7691 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserClassAnnotators.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserClassAnnotators.java
@@ -15,7 +15,6 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 
 /**
  * This class defines set of default class annotators for a single class type
@@ -25,7 +24,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "class_annotator_table")
 public class UserClassAnnotators implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java b/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java
index 8224dcfaf58d1148713172e56faf0691e08ee335..787e584d14cf99dd4e59d8ae2e0c8b7e3573560a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java
@@ -17,7 +17,6 @@ import javax.persistence.JoinColumn;
 import javax.persistence.JoinTable;
 import javax.persistence.ManyToOne;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 import javax.persistence.Transient;
 
 import org.apache.log4j.Logger;
@@ -32,7 +31,6 @@ import lcsb.mapviewer.model.map.MiriamType;
  * 
  */
 @Entity
-@Table(name = "class_required_annotation_table")
 public class UserClassRequiredAnnotations implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserClassValidAnnotations.java b/model/src/main/java/lcsb/mapviewer/model/user/UserClassValidAnnotations.java
index e9672ccf45829b429c009ece011247ab4d3f4c02..97907dd6aac5c7ddf353bb8a6528a683ff7c1fdf 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserClassValidAnnotations.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserClassValidAnnotations.java
@@ -17,7 +17,6 @@ import javax.persistence.JoinColumn;
 import javax.persistence.JoinTable;
 import javax.persistence.ManyToOne;
 import javax.persistence.OrderColumn;
-import javax.persistence.Table;
 
 import lcsb.mapviewer.model.map.MiriamType;
 
@@ -28,7 +27,6 @@ import lcsb.mapviewer.model.map.MiriamType;
  * 
  */
 @Entity
-@Table(name = "class_valid_annotation_table")
 public class UserClassValidAnnotations implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserGuiPreference.java b/model/src/main/java/lcsb/mapviewer/model/user/UserGuiPreference.java
index 0282d1fedbd9d30e61b0f97a41108a10d97ec593..4b1dffd79d32be883d6bc6d3f0b893f2465e5804 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserGuiPreference.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserGuiPreference.java
@@ -10,7 +10,6 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
-import javax.persistence.Table;
 
 /**
  * This class defines GUI preference for the {@link User}.
@@ -19,7 +18,6 @@ import javax.persistence.Table;
  * 
  */
 @Entity
-@Table(name = "user_gui_preferences")
 public class UserGuiPreference implements Serializable {
 
   /**
diff --git a/model/src/test/java/lcsb/mapviewer/model/user/BasicPrivilegeTest.java b/model/src/test/java/lcsb/mapviewer/model/user/BasicPrivilegeTest.java
index 8a226413bb0b55b715c2b7c8eb50dc9c6b09efa9..22522353bda2c6e5f044be106f790c5bbe3cc9de 100644
--- a/model/src/test/java/lcsb/mapviewer/model/user/BasicPrivilegeTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/user/BasicPrivilegeTest.java
@@ -21,7 +21,7 @@ public class BasicPrivilegeTest {
 	@Test
 	public void testSerialization() {
 		try {
-			SerializationUtils.serialize(new BasicPrivilege());
+			SerializationUtils.serialize(new Privilege());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -31,7 +31,7 @@ public class BasicPrivilegeTest {
 	@Test
 	public void testGetters() {
 		try {
-			BasicPrivilege privilege = new BasicPrivilege();
+			Privilege privilege = new Privilege();
 			int id = 25;
 			int level = 26;
 			PrivilegeType type = PrivilegeType.ADD_MAP;
@@ -55,7 +55,7 @@ public class BasicPrivilegeTest {
 	@Test
 	public void testEqualsPrivilege() {
 		try {
-			BasicPrivilege privilege = new BasicPrivilege();
+			Privilege privilege = new Privilege();
 			assertFalse(privilege.equalsPrivilege(null));
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/model/src/test/java/lcsb/mapviewer/model/user/ObjectPrivilegeTest.java b/model/src/test/java/lcsb/mapviewer/model/user/ObjectPrivilegeTest.java
index 3820cdc171954f6e797691888d50960f195b8812..ff1bcfde7b8eef0e0d56985f0b5da07f95408a5a 100644
--- a/model/src/test/java/lcsb/mapviewer/model/user/ObjectPrivilegeTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/user/ObjectPrivilegeTest.java
@@ -70,7 +70,7 @@ public class ObjectPrivilegeTest {
       ObjectPrivilege privilege = new ObjectPrivilege();
       privilege.setType(PrivilegeType.ADD_MAP);
       assertFalse(privilege.equalsPrivilege(null));
-      assertFalse(privilege.equalsPrivilege(new BasicPrivilege()));
+      assertFalse(privilege.equalsPrivilege(new Privilege()));
 
       privilege.setIdObject(2);
       ObjectPrivilege privilege2 = new ObjectPrivilege();
diff --git a/model/src/test/java/lcsb/mapviewer/model/user/UserTest.java b/model/src/test/java/lcsb/mapviewer/model/user/UserTest.java
index 863536f39f290974ff8bed3205e482be63b1cf4d..532a723eab443d4eb4d5cf34e393a07eee6de6fa 100644
--- a/model/src/test/java/lcsb/mapviewer/model/user/UserTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/user/UserTest.java
@@ -46,7 +46,7 @@ public class UserTest {
 	public void testAddPrivilege() {
 		try {
 			User user = new User();
-			user.addPrivilege(new BasicPrivilege());
+			user.addPrivilege(new Privilege());
 			assertEquals(1, user.getPrivileges().size());
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -64,7 +64,7 @@ public class UserTest {
 			String name = "ccr";
 			String email= "a.a@pl.pl";
 			String surname = "cccv";
-			Set<BasicPrivilege> privileges = new HashSet<>();
+			Set<Privilege> privileges = new HashSet<>();
 			boolean removed = true;
 			UserAnnotationSchema annotationSchema = new UserAnnotationSchema();
 			Color minColor = Color.BLACK;
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java b/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java
new file mode 100644
index 0000000000000000000000000000000000000000..31bcb2caaae9025de0a08452735b17cc96b155d8
--- /dev/null
+++ b/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java
@@ -0,0 +1,30 @@
+package lcsb.mapviewer.persist;
+
+import org.apache.log4j.Logger;
+import org.hibernate.boot.model.naming.Identifier;
+import org.hibernate.boot.model.naming.ImplicitEntityNameSource;
+import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
+
+/**
+ * This naming strategy adds "Table" suffix to table names when there is no
+ * table name defined.
+ * 
+ * @author Piotr Gawron
+ *
+ */
+public class CustomImplicitNamingStrategy extends SpringImplicitNamingStrategy {
+  /**
+   * 
+   */
+  private static final long serialVersionUID = 1L;
+
+  Logger logger = Logger.getLogger(CustomImplicitNamingStrategy.class);
+
+  private static final String TABLE_NAME_SUFFIX = "Table";
+
+  @Override
+  public Identifier determinePrimaryTableName(ImplicitEntityNameSource source) {
+    Identifier newIdentifier = super.determinePrimaryTableName(source);
+    return new Identifier(newIdentifier.getText() + TABLE_NAME_SUFFIX, newIdentifier.isQuoted());
+  }
+}
diff --git a/persist/src/main/resources/applicationContext-persist.xml b/persist/src/main/resources/applicationContext-persist.xml
index dd83728553450d85c0ff5295110ddabf4ba1c8bb..ed36014a24a8b5071a33a4d596cca5f0754d6b9f 100644
--- a/persist/src/main/resources/applicationContext-persist.xml
+++ b/persist/src/main/resources/applicationContext-persist.xml
@@ -81,9 +81,9 @@
 
 				<value>lcsb.mapviewer.model.graphics.PolylineData</value>
 
-				<value>lcsb.mapviewer.model.user.BasicPrivilege</value>
 				<value>lcsb.mapviewer.model.user.ConfigurationOption</value>
 				<value>lcsb.mapviewer.model.user.ObjectPrivilege</value>
+				<value>lcsb.mapviewer.model.user.Privilege</value>
 				<value>lcsb.mapviewer.model.user.User</value>
 				<value>lcsb.mapviewer.model.user.UserAnnotatorsParam</value>
 				<value>lcsb.mapviewer.model.user.UserAnnotationSchema</value>
@@ -206,7 +206,7 @@
         <bean class="org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy" />
     </property>
     <property name="ImplicitNamingStrategy">
-        <bean class="org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy" />
+        <bean class="lcsb.mapviewer.persist.CustomImplicitNamingStrategy" />
     </property>
 	</bean>	
 
diff --git a/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181029.3__arrow_type_data_is_serialized_in_a_string.sql b/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181029.3__arrow_type_data_is_serialized_in_a_string.sql
index 6f0991ee3fd3b8724c2ade273ec80b462d196012..6c21f47873ecd909ba153baa069048146e9cad4d 100644
--- a/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181029.3__arrow_type_data_is_serialized_in_a_string.sql
+++ b/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181029.3__arrow_type_data_is_serialized_in_a_string.sql
@@ -6,3 +6,5 @@ update polyline_data set end_atd = (select concat(angle,';',len,';',arrow_type,'
 
 alter table polyline_data drop column begin_atd_id;
 alter table polyline_data drop column end_atd_id;
+
+drop table arrow_type_data;
\ No newline at end of file
diff --git a/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181030.3__normalization_of_table_names.sql b/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181030.3__normalization_of_table_names.sql
new file mode 100644
index 0000000000000000000000000000000000000000..7ef03d4c79d92ae0a0fe7021796498e906c5c695
--- /dev/null
+++ b/persist/src/main/resources/db/migration/12.2.0~alpha.0/V12.2.0.20181030.3__normalization_of_table_names.sql
@@ -0,0 +1,77 @@
+-- rename table names to match implicit class name mapping
+alter table model_table rename to model_data_table;
+alter table model_parameters rename to model_parameters_table;
+alter table sbml_parameter rename to sbml_parameter_table;
+alter table sbml_unit rename to sbml_unit_table;
+alter table sbml_kinetics rename to sbml_kinetics_table;
+alter table sbml_function rename to sbml_function_table;
+alter table sbml_unit_factor rename to sbml_unit_type_factor_table;
+alter table layout rename to layout_table;
+alter table uniprot_table rename to uniprot_record_table;
+alter table layer_rect rename to layer_rect_table;
+alter table layer_text rename to layer_text_table;
+alter table layer_oval rename to layer_oval_table;
+alter table polyline_data rename to polyline_data_table;
+alter table cache_query rename to cache_query_table;
+alter table class_annotator_table rename to user_class_annotators_table;
+alter table class_valid_annotation_table rename to user_class_valid_annotations_table;
+alter table annotators_params_table rename to user_annotators_param_table;
+alter table class_required_annotation_table rename to user_class_required_annotations_table;
+alter table user_gui_preferences rename to user_gui_preference_table;
+alter table history_table rename to search_history_table;
+alter table file_entry rename to file_entry_table;
+alter table configuration_table rename to configuration_option_table;
+alter table plugin_data_entry rename to plugin_data_entry_table;
+alter table node_table rename to reaction_node_table;
+alter table cache_type rename to cache_type_table;
+alter table feedback rename to comment_table;
+alter table reference_genome rename to reference_genome_table;
+alter table reference_genome_gene_mapping rename to reference_genome_gene_mapping_table;
+
+--rename sequences to match table names
+alter sequence annotators_params_table_iddb_seq rename to user_annotators_param_sequence;
+alter sequence big_file_entry_iddb_seq rename to file_entry_sequence;
+alter sequence cachequery_iddb_seq rename to cache_query_sequence;
+alter sequence cache_type_iddb_seq rename to cache_type_sequence;
+alter sequence class_annotator_iddb_seq rename to user_class_annotators_sequence;
+alter sequence class_required_annotation_iddb_seq rename to user_class_required_annotations_sequence;
+alter sequence class_valid_annotation_iddb_seq rename to user_class_valid_annotations_sequence;
+alter sequence modification_residue_table_iddb_seq rename to modification_residue_sequence;
+alter sequence overview_image_iddb_seq rename to overview_image_sequence;
+alter sequence overview_link_iddb_seq rename to overview_link_sequence;
+alter sequence feedback_iddb_seq rename to comment_sequence;
+alter sequence configuration_table_iddb_seq rename to configuration_option_sequence;
+alter sequence element_table_iddb_seq rename to element_sequence;
+alter sequence layeroval_iddb_seq rename to layer_oval_sequence;
+alter sequence layerrect_iddb_seq rename to layer_rect_sequence;
+alter sequence layer_table_iddb_seq rename to layer_sequence;
+alter sequence layertext_iddb_seq rename to layer_text_sequence;
+alter sequence layout_iddb_seq rename to layout_sequence;
+alter sequence miriam_data_table_iddb_seq rename to miriam_data_sequence;
+alter sequence model_table_iddb_seq rename to model_data_sequence;
+alter sequence plugin_table_iddb_seq rename to plugin_sequence;
+alter sequence polylinedata_iddb_seq rename to polyline_data_sequence;
+alter sequence privilege_table_iddb_seq rename to privilege_sequence;
+alter sequence node_table_iddb_seq rename to reaction_node_sequence;
+alter sequence reaction_table_iddb_seq rename to reaction_sequence;
+alter sequence reference_genome_gene_mapping_iddb_seq rename to reference_genome_gene_mapping_sequence;
+alter sequence reference_genome_iddb_seq rename to reference_genome_sequence;
+alter sequence sbml_function_iddb_seq rename to sbml_function_sequence;
+alter sequence sbml_parameter_iddb_seq rename to sbml_parameter_sequence;
+alter sequence sbml_unit_iddb_seq rename to sbml_unit_sequence;
+alter sequence sbml_unit_factor_iddb_seq rename to sbml_unit_type_factor_sequence;
+alter sequence history_table_iddb_seq rename to search_history_sequence;
+alter sequence search_index_table_iddb_seq rename to search_index_sequence;
+alter sequence structure_table_iddb_seq rename to structure_sequence;
+alter sequence submodel_connection_table_iddb_seq rename to submodel_connection_sequence;
+alter sequence uniprot_table_iddb_seq rename to uniprot_record_sequence;
+alter sequence user_annotation_schema_iddb_seq rename to user_annotation_schema_sequence;
+alter sequence user_gui_preferences_iddb_seq rename to user_gui_preference_sequence;
+alter sequence user_table_iddb_seq rename to user_sequence;
+alter sequence project_table_id_seq rename to project_sequence;
+alter sequence plugin_data_entry_iddb_seq rename to plugin_data_entry_sequence;
+
+
+--drop unused sequences
+drop sequence antisense_rna_region_table_iddb_seq;
+drop sequence rna_region_table_iddb_seq;
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
index e1c95d96fab921e59326545e0907eb7ae81d7f33..e35c3001917c347644e50d998bd9c764d46ab07d 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
@@ -19,7 +19,7 @@ import org.springframework.security.crypto.password.PasswordEncoder;
 import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Species;
-import lcsb.mapviewer.model.user.BasicPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.PrivilegeType;
 import lcsb.mapviewer.model.user.User;
 import lcsb.mapviewer.model.user.UserAnnotationSchema;
@@ -65,7 +65,7 @@ public class UserDaoTest extends PersistTestFunctions {
 
       user = new User();
       user.setLogin(testLogin);
-      user.addPrivilege(new BasicPrivilege(0, PrivilegeType.ADD_MAP, user));
+      user.addPrivilege(new Privilege(0, PrivilegeType.ADD_MAP, user));
       userDao.add(user);
 
       long counter2 = userDao.getCount();
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 3ee62cd1c649594650180a0c3b38d91637b90cbb..b5b4336657f9237cc06c5fcfd168bf5bd51cca54 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
@@ -20,9 +20,9 @@ import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.map.MiriamType;
-import lcsb.mapviewer.model.user.BasicPrivilege;
 import lcsb.mapviewer.model.user.ConfigurationOption;
 import lcsb.mapviewer.model.user.ObjectPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.PrivilegeType;
 import lcsb.mapviewer.model.user.User;
 import lcsb.mapviewer.model.user.UserAnnotationSchema;
@@ -335,10 +335,10 @@ public class UserRestImpl extends BaseRestImpl {
   private List<Map<String, Object>> preparePrivileges(User user) {
     List<Map<String, Object>> result = new ArrayList<>();
     Set<PrivilegeType> definedDefaultProjectPrivilegeTypes = new HashSet<>();
-    List<BasicPrivilege> privileges = new ArrayList<>();
+    List<Privilege> privileges = new ArrayList<>();
     privileges.addAll(user.getPrivileges());
-    privileges.sort(BasicPrivilege.ID_COMPARATOR);
-    for (BasicPrivilege privilege : privileges) {
+    privileges.sort(Privilege.ID_COMPARATOR);
+    for (Privilege privilege : privileges) {
       if (privilege instanceof ObjectPrivilege) {
         if (Project.class.equals(privilege.getType().getPrivilegeObjectType())
             && ((ObjectPrivilege) privilege).getIdObject() == null) {
@@ -346,7 +346,7 @@ public class UserRestImpl extends BaseRestImpl {
         }
         result.add(prepareObjectPrivilege((ObjectPrivilege) privilege));
       } else {
-        result.add(prepareBasicPrivilege(privilege));
+        result.add(preparePrivilege(privilege));
       }
     }
     for (PrivilegeType privilegeType : PrivilegeType.values()) {
@@ -387,9 +387,9 @@ public class UserRestImpl extends BaseRestImpl {
     return result;
   }
 
-  private Map<String, Object> prepareBasicPrivilege(BasicPrivilege privilege) {
+  private Map<String, Object> preparePrivilege(Privilege privilege) {
     Map<String, Object> result = new TreeMap<>();
-    if (privilege.getClass().equals(BasicPrivilege.class)) {
+    if (privilege.getClass().equals(Privilege.class)) {
       result.put("type", privilege.getType());
       result.put("value", privilege.getLevel());
       return result;
@@ -445,7 +445,7 @@ public class UserRestImpl extends BaseRestImpl {
 
         PrivilegeType type = PrivilegeType.valueOf(key);
 
-        if (type.getPrivilegeClassType().equals(BasicPrivilege.class)) {
+        if (type.getPrivilegeClassType().equals(Privilege.class)) {
           getUserService().setUserPrivilege(modifiedUser, type, value, token);
         } else if (type.getPrivilegeClassType().equals(ObjectPrivilege.class)) {
           if (value instanceof Map) {
@@ -615,7 +615,7 @@ public class UserRestImpl extends BaseRestImpl {
       }
     }
     getUserService().addUser(user);
-    getUserService().createDefaultBasicPrivilegesForUser(user);
+    getUserService().createDefaultPrivilegesForUser(user);
     for (Project project : getProjectService().getAllProjects()) {
       getUserService().createDefaultProjectPrivilegesForUser(project, user);
     }
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/plugins/PluginRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/plugins/PluginRestImplTest.java
index 209e40162bd605713f64fccabc857a29f7a71fd8..e378aa92c9c26591872c275ade5782c5336a873f 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/plugins/PluginRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/plugins/PluginRestImplTest.java
@@ -4,7 +4,7 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.api.RestTestFunctions;
-import lcsb.mapviewer.model.user.BasicPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.PrivilegeType;
 import lcsb.mapviewer.model.user.User;
 
@@ -22,7 +22,7 @@ public class PluginRestImplTest extends RestTestFunctions {
   public void testCreatePlugin() throws Exception {
     try {
       User admin = userService.getUserByToken(adminToken);
-      userService.setUserPrivilege(admin, new BasicPrivilege(1, PrivilegeType.MANAGE_PLUGINS, admin));
+      userService.setUserPrivilege(admin, new Privilege(1, PrivilegeType.MANAGE_PLUGINS, admin));
       pluginRestImpl.createPlugin(adminToken, "x", "x", "x", "x", "true");
     } catch (Exception e) {
       e.printStackTrace();
@@ -34,7 +34,7 @@ public class PluginRestImplTest extends RestTestFunctions {
   public void testRemovePlugin() throws Exception {
     try {
       User admin = userService.getUserByToken(adminToken);
-      userService.setUserPrivilege(admin, new BasicPrivilege(1, PrivilegeType.MANAGE_PLUGINS, admin));
+      userService.setUserPrivilege(admin, new Privilege(1, PrivilegeType.MANAGE_PLUGINS, admin));
       pluginRestImpl.createPlugin(adminToken, "x", "x", "x", "x", "true");
       pluginRestImpl.removePlugin(adminToken, "x");
     } catch (Exception e) {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
index 726992b97babeabba8c479a985ec3a213000b6ef..94e6941ca0410fc960ae95a773116183261cf293 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -463,7 +463,7 @@ public class ProjectService implements IProjectService {
     for (User user : userDao.getAll()) {
       if (!processedUser.contains(user)) {
         processedUser.add(user);
-        userService.createDefaultBasicPrivilegesForUser(user);
+        userService.createDefaultPrivilegesForUser(user);
         userService.createDefaultProjectPrivilegesForUser(project, user);
       }
     }
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 c2d7624ceb56de2d851d3a816942fee228379c75..1736ec0cd3327e2347e199ec54daaa0bceac166f 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
@@ -28,7 +28,7 @@ import lcsb.mapviewer.common.comparator.IntegerComparator;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.geometry.ColorParser;
 import lcsb.mapviewer.model.Project;
-import lcsb.mapviewer.model.user.BasicPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.ConfigurationElementType;
 import lcsb.mapviewer.model.user.ConfigurationOption;
 import lcsb.mapviewer.model.user.ObjectPrivilege;
@@ -108,15 +108,15 @@ public class UserService implements IUserService {
   }
 
   @Override
-  public void setUserPrivilege(User user, BasicPrivilege privilege) {
+  public void setUserPrivilege(User user, Privilege privilege) {
     updateUserPrivilegesWithoutDbModification(user, privilege);
     updateUser(user);
     userDao.flush();
   }
 
-  private void updateUserPrivilegesWithoutDbModification(User user, BasicPrivilege privilege) {
-    BasicPrivilege oldPrivilege = null;
-    for (BasicPrivilege privilegeIter : user.getPrivileges()) {
+  private void updateUserPrivilegesWithoutDbModification(User user, Privilege privilege) {
+    Privilege oldPrivilege = null;
+    for (Privilege privilegeIter : user.getPrivileges()) {
       if (privilegeIter.equalsPrivilege(privilege)) {
         oldPrivilege = privilegeIter;
       }
@@ -163,8 +163,8 @@ public class UserService implements IUserService {
     // users and drop privileges one by one)
     List<User> users = userDao.getAll();
     for (User user : users) {
-      List<BasicPrivilege> toRemove = new ArrayList<>();
-      for (BasicPrivilege privilege : user.getPrivileges()) {
+      List<Privilege> toRemove = new ArrayList<>();
+      for (Privilege privilege : user.getPrivileges()) {
         if (privilege.getType().equals(type) && privilege instanceof ObjectPrivilege
             && integerComparator.compare(((ObjectPrivilege) privilege).getIdObject(), id) == 0) {
           toRemove.add(privilege);
@@ -179,10 +179,10 @@ public class UserService implements IUserService {
 
   @Override
   public int getUserPrivilegeLevel(User user, PrivilegeType type) {
-    if (type.getPrivilegeClassType() != BasicPrivilege.class) {
+    if (type.getPrivilegeClassType() != Privilege.class) {
       throw new InvalidArgumentException("This privilege requires additional information");
     }
-    for (BasicPrivilege privilege : user.getPrivileges()) {
+    for (Privilege privilege : user.getPrivileges()) {
       if (privilege.getType().equals(type)) {
         return privilege.getLevel();
       }
@@ -221,7 +221,7 @@ public class UserService implements IUserService {
       user = userDao.getById(user.getId());
     }
     IntegerComparator integerComparator = new IntegerComparator();
-    for (BasicPrivilege privilege : user.getPrivileges()) {
+    for (Privilege privilege : user.getPrivileges()) {
       if (privilege.getClass() == ObjectPrivilege.class) {
         ObjectPrivilege oPrivilege = (ObjectPrivilege) privilege;
         if (oPrivilege.getType().equals(type) && integerComparator.compare(oPrivilege.getIdObject(), id) == 0) {
@@ -234,10 +234,10 @@ public class UserService implements IUserService {
 
   @Override
   public void setUserPrivilege(User user, PrivilegeType type, Integer value) {
-    BasicPrivilege privilege = new BasicPrivilege(value, type, user);
+    Privilege privilege = new Privilege(value, type, user);
 
-    BasicPrivilege oldPrivilege = null;
-    for (BasicPrivilege privilegeIter : user.getPrivileges()) {
+    Privilege oldPrivilege = null;
+    for (Privilege privilegeIter : user.getPrivileges()) {
       if (privilegeIter.getType().equals(type)) {
         oldPrivilege = privilegeIter;
       }
@@ -527,7 +527,7 @@ public class UserService implements IUserService {
         user.setEmail(ldapUserData.getEmail());
         user.setConnectedToLdap(true);
         addUser(user);
-        createDefaultBasicPrivilegesForUser(user);
+        createDefaultPrivilegesForUser(user);
         for (Project project : projectDao.getAll()) {
           createDefaultProjectPrivilegesForUser(project, user);
         }
@@ -569,9 +569,9 @@ public class UserService implements IUserService {
   }
 
   @Override
-  public void createDefaultBasicPrivilegesForUser(User user) {
+  public void createDefaultPrivilegesForUser(User user) {
     for (PrivilegeType type : PrivilegeType.values()) {
-      if (BasicPrivilege.class.equals(type.getPrivilegeClassType())) {
+      if (Privilege.class.equals(type.getPrivilegeClassType())) {
         int level = 0;
         ConfigurationOption option = configurationService.getValue(type);
         if (option != null) {
@@ -580,7 +580,7 @@ public class UserService implements IUserService {
           } else if (StringUtils.isNumeric(option.getValue())) {
             level = Integer.valueOf(option.getValue());
           }
-          BasicPrivilege privilege = new BasicPrivilege(level, type, user);
+          Privilege privilege = new Privilege(level, type, user);
           updateUserPrivilegesWithoutDbModification(user, privilege);
         }
       }
diff --git a/service/src/main/java/lcsb/mapviewer/services/interfaces/IUserService.java b/service/src/main/java/lcsb/mapviewer/services/interfaces/IUserService.java
index 49f5ad04bc5f652887c0fb010b07c6933a4c8f5b..a97215e9d34c15283813caa7a4310598762c7fcd 100644
--- a/service/src/main/java/lcsb/mapviewer/services/interfaces/IUserService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/interfaces/IUserService.java
@@ -6,7 +6,7 @@ import java.util.Map;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.model.Project;
-import lcsb.mapviewer.model.user.BasicPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.PrivilegeType;
 import lcsb.mapviewer.model.user.User;
 import lcsb.mapviewer.services.SecurityException;
@@ -95,7 +95,7 @@ public interface IUserService {
    * @param privilege
    *          user privilege
    */
-  void setUserPrivilege(User user, BasicPrivilege privilege);
+  void setUserPrivilege(User user, Privilege privilege);
 
   /**
    * Adds user to the system.
@@ -184,7 +184,7 @@ public interface IUserService {
   void setLdapService(ILdapService ldapService);
 
   void createDefaultProjectPrivilegesForUser(Project project, User user);
-  void createDefaultBasicPrivilegesForUser(User user);
+  void createDefaultPrivilegesForUser(User user);
 
   Map<String, Boolean> ldapAccountExistsForLogin(Collection<User> logins);
 }
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java
index 036b1f99f9922f83913c9fe4b1743f134447c046..ad76543a9dc3a1a471d13399bf3f19babccd763a 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.layout.LayoutStatus;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelSubmodelConnection;
 import lcsb.mapviewer.model.map.model.SubmodelType;
-import lcsb.mapviewer.model.user.BasicPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.ObjectPrivilege;
 import lcsb.mapviewer.model.user.PrivilegeType;
 import lcsb.mapviewer.model.user.User;
@@ -116,7 +116,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
     try {
       int initialSize = model.getLayouts().size();
       assertFalse(layoutService.userCanAddLayout(model, user));
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
 
       assertFalse(layoutService.userCanAddLayout(model, user));
 
@@ -133,11 +133,11 @@ public class LayoutServiceTest extends ServiceTestFunctions {
 
       assertFalse(layoutService.userCanAddLayout(model, user));
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
 
       assertFalse(layoutService.userCanAddLayout(model, user));
 
-      userService.setUserPrivilege(user, new BasicPrivilege(2, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(2, PrivilegeType.CUSTOM_LAYOUTS, user));
 
       assertTrue(layoutService.userCanAddLayout(model, user));
 
@@ -156,7 +156,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
   @Test
   public void testGetAvailable() throws Exception {
     try {
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
       assertEquals(1, layoutService.getAvailableCustomLayoutsNumber(user));
 
       CreateLayoutParams params = new CreateLayoutParams().name("Test").//
@@ -192,7 +192,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
       assertNotNull(layouts);
       assertEquals(0, layouts.size());
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
 
       CreateLayoutParams params = new CreateLayoutParams().name("Test").//
           directory("testDir").//
@@ -226,7 +226,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
       assertNotNull(layouts);
       assertEquals(0, layouts.size());
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
 
       CreateLayoutParams params = new CreateLayoutParams().name("Test").//
           directory("testDir").//
@@ -262,7 +262,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
       assertNotNull(layouts);
       assertEquals(0, layouts.size());
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
       CreateLayoutParams params = new CreateLayoutParams().name("Test").//
           directory("testDir").//
           model(model).//
@@ -323,7 +323,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
 
       projectService.addProject(localProject);
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
       userService.setUserPrivilege(user, new ObjectPrivilege(localProject, 1, PrivilegeType.VIEW_PROJECT, user));
 
       CreateLayoutParams params = new CreateLayoutParams().name("Test").//
@@ -363,7 +363,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
       assertNotNull(layouts);
       assertEquals(0, layouts.size());
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
       CreateLayoutParams params = new CreateLayoutParams().name("Test").//
           directory("testDir").//
           model(model).//
@@ -396,7 +396,7 @@ public class LayoutServiceTest extends ServiceTestFunctions {
       assertNotNull(layouts);
       assertEquals(0, layouts.size());
 
-      userService.setUserPrivilege(user, new BasicPrivilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
+      userService.setUserPrivilege(user, new Privilege(1, PrivilegeType.CUSTOM_LAYOUTS, user));
       ByteArrayInputStream bais = new ByteArrayInputStream(
           "name	reactionIdentifier	Color\ns1		#CC0000\ns2		#CCCC00\n	re1	#CCCC00\n"
               .getBytes(StandardCharsets.UTF_8));
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java
index 9e11fe58f00ba897c0fd50c84e79743eb4ec863f..a88b5900d35b3afd17e55770c2eaaf6144c72b8f 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java
@@ -22,7 +22,7 @@ import com.unboundid.ldap.sdk.LDAPConnection;
 import com.unboundid.ldap.sdk.LDAPException;
 
 import lcsb.mapviewer.model.Project;
-import lcsb.mapviewer.model.user.BasicPrivilege;
+import lcsb.mapviewer.model.user.Privilege;
 import lcsb.mapviewer.model.user.ConfigurationElementType;
 import lcsb.mapviewer.model.user.ObjectPrivilege;
 import lcsb.mapviewer.model.user.PrivilegeType;
@@ -145,7 +145,7 @@ public class UserServiceTest extends ServiceTestFunctions {
   @Test
   public void testUserHasPrivilegeUserPrivilegeType2() {
     try {
-      BasicPrivilege privilege = new BasicPrivilege();
+      Privilege privilege = new Privilege();
       privilege.setLevel(1);
       privilege.setType(PrivilegeType.ADD_MAP);
       userService.setUserPrivilege(user, privilege);
@@ -230,12 +230,12 @@ public class UserServiceTest extends ServiceTestFunctions {
   }
 
   @Test
-  public void testCreateDefaultBasicPrivilegesForUser() throws Exception {
+  public void testCreateDefaultPrivilegesForUser() throws Exception {
     String originalValue = configurationService.getConfigurationValue(ConfigurationElementType.DEFAULT_CUSTOM_LAYOUTS);
     try {
       configurationService.setConfigurationValue(ConfigurationElementType.DEFAULT_CUSTOM_LAYOUTS, "127");
       createUser();
-      userService.createDefaultBasicPrivilegesForUser(user);
+      userService.createDefaultPrivilegesForUser(user);
       assertEquals(127, userService.getUserPrivilegeLevel(user, PrivilegeType.CUSTOM_LAYOUTS));
 
     } catch (Exception e) {