diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
index fc0c60226ee53ec1162bbe8ac3ba1857b1c2e037..e9c36488291281e137c013eb169494cc7b015b52 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
@@ -120,7 +120,7 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
     Set<Species> elementToAlign = new HashSet<>();
     Map<Compartment, Set<Element>> elementsByStaticCompartment = new HashMap<>();
     for (Element element : elements) {
-      if (element.getWidth() == 0) {
+      if (element.getWidth() == null || element.getWidth() == 0) {
         element.setWidth(SPECIES_WIDTH);
         element.setHeight(SPECIES_HEIGHT);
 
@@ -360,7 +360,9 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
   protected Dimension2D estimateDimension(Collection<BioEntity> bioEntites) {
     double suggestedSize = Math.max(100 * bioEntites.size() / 4,
         Math.sqrt((SPECIES_WIDTH + 10) * (SPECIES_HEIGHT + 10) * bioEntites.size()));
-    suggestedSize = Math.max(suggestedSize, 2 * (SPECIES_WIDTH + 10));
+    if (bioEntites.size() > 0) {
+      suggestedSize = Math.max(suggestedSize, 2 * (SPECIES_WIDTH + 10));
+    }
     return new DoubleDimension(suggestedSize, suggestedSize);
   }
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java b/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java
index 8b883cd54a6e6b0a4db8e65d87d5fe9a01f5c220..71fece55e50d88007800b32758fccf88ecfc7090 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/AllCommandsTests.java
@@ -1,5 +1,6 @@
 package lcsb.mapviewer.commands;
 
+import lcsb.mapviewer.commands.layout.AllLayoutTests;
 import lcsb.mapviewer.commands.properties.AllPropertyCommandTests;
 
 import org.junit.runner.RunWith;
@@ -7,12 +8,13 @@ import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
 @RunWith(Suite.class)
-@SuiteClasses({ AllPropertyCommandTests.class, //
-		ColorModelCommandTest.class, //
-		CopyCommandTest.class, //
-		CreateHierarchyCommandTest.class, //
-		MoveElementsCommandTest.class, //
-		SubModelCommandTest.class,//
+@SuiteClasses({ AllLayoutTests.class, //
+    AllPropertyCommandTests.class, //
+    ColorModelCommandTest.class, //
+    CopyCommandTest.class, //
+    CreateHierarchyCommandTest.class, //
+    MoveElementsCommandTest.class, //
+    SubModelCommandTest.class,//
 })
 public class AllCommandsTests {
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
index b334ee319125cd01c7ee066a372e5b3cb7487aef..daa42fe4e3ddd4606d56a1ce00fad124a894af5b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("BINDING_REGION")
 public class BindingRegion extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
index 0f8eac1c4bd5ea2372b2cb966c64be033d9e0afc..4a10b406425a8c4a391a12bc52174c1e704600a2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("CODING_REGION")
 public class CodingRegion extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
index 1803b107ecd1b3ea9fbaa0e9972f89496d4159a1..92d9ea58f22dc937cbac59020022de6a79f51d43 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("PROTEIN_BINDING_DOMAIN")
 public class ProteinBindingDomain extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
index c2aa45c683d79c47fdd3aa7f84ea76cb986236d4..fd47c43c8b6eeb0e806de8e8fcbba6be39abca89 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("MODIFICATION_SITE")
+@DiscriminatorValue("REGULATORY_REGION")
 public class RegulatoryRegion extends AbstractRegionModification implements Serializable {
 
   /**
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
index f34f2cbe61f28de4981c333b9405a4e0847fde11..785e3def809ca0460680c859f2f966e91fbdb0b9 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
@@ -39,15 +39,12 @@ public class DrugRestImpl extends BaseRestImpl {
   @Autowired
   private IDrugService drugService;
 
-  @Autowired
-  private IModelService modelService;
-
   @Autowired
   private IUserService userService;
 
   public List<Map<String, Object>> getDrugsByQuery(String token, String projectId, String columns, String query)
       throws SecurityException, QueryException {
-    Model model = modelService.getLastModelByProjectId(projectId, token);
+    Model model = getModelService().getLastModelByProjectId(projectId, token);
     if (model == null) {
       throw new QueryException("Project with given id doesn't exist");
     }
@@ -87,23 +84,6 @@ public class DrugRestImpl extends BaseRestImpl {
     this.userService = userService;
   }
 
-  /**
-   * @return the modelService
-   * @see #modelService
-   */
-  public IModelService getModelService() {
-    return modelService;
-  }
-
-  /**
-   * @param modelService
-   *          the modelService to set
-   * @see #modelService
-   */
-  public void setModelService(IModelService modelService) {
-    this.modelService = modelService;
-  }
-
   private Map<String, Object> prepareDrug(Drug drug, Set<String> columnsSet, List<Model> models) {
     Map<String, Object> result = new TreeMap<>();
     for (String string : columnsSet) {
@@ -171,7 +151,7 @@ public class DrugRestImpl extends BaseRestImpl {
 
   public List<Map<String, Object>> getDrugsByTarget(String token, String projectId, String targetType, String targetId,
       String columns) throws SecurityException, QueryException {
-    Model model = modelService.getLastModelByProjectId(projectId, token);
+    Model model = getModelService().getLastModelByProjectId(projectId, token);
     if (model == null) {
       throw new QueryException("Project with given id doesn't exist");
     }