From ec4e94be955c86728cb4b463e0143de4f41b3530 Mon Sep 17 00:00:00 2001
From: "piotr.gawron" <piotr.gawron@uni-new>
Date: Wed, 5 Oct 2016 18:37:19 +0200
Subject: [PATCH] renaming of model structures + javadoc update

---
 .../annotation/services/ModelAnnotator.java   |  12 +-
 .../lcsb/mapviewer/run/ConsoleConverter.java  |  12 +-
 .../lcsb/mapviewer/run/ReactomeExport.java    |  10 +-
 .../java/lcsb/mapviewer/run/Statistics.java   |   8 +-
 .../run/UnknownReactionInReactome.java        |  10 +-
 .../lcsb/mapviewer/run/VibineSnippet.java     |   4 +-
 .../celldesigner/CellDesignerXmlParser.java   |  12 +-
 .../model/celldesigner/LayerXmlParser.java    |   4 +-
 .../alias/ComplexAliasXmlParser.java          |  14 +-
 .../alias/SpeciesAliasXmlParser.java          |  14 +-
 .../reaction/ReactionFromXml.java             |  68 ++---
 .../celldesigner/reaction/ReactionToXml.java  |  80 +++---
 .../species/SpeciesCollectionXmlParser.java   |   2 +-
 .../CellDesignerXmlParserTest.java            |   2 +-
 .../celldesigner/ComplexParserTests.java      |   4 +-
 .../celldesigner/LayerXmlParserTest.java      |   2 +-
 .../NestedComplexParsingTests.java            |  30 +-
 .../alias/CompartmentAliasXmlParserTest.java  |   8 +-
 .../alias/SpeciesAliasXmlParserTest.java      |  18 +-
 .../annotation/RestAnnotationParserTest.java  |   2 +-
 .../compartment/CompartmentParserTests.java   |   8 +-
 .../reaction/ReactionParserTests.java         |  16 +-
 .../reaction/ReactionToXmlTest.java           |   4 +-
 .../species/ComplexParserTest.java            |   8 +-
 .../model/sbgnml/SbgnmlXmlExporter.java       |  24 +-
 .../model/sbgnml/SbgnmlXmlParser.java         |  52 ++--
 .../graphics/AbstractImageGenerator.java      |   8 +-
 .../graphics/placefinder/PlaceFinder.java     |   2 +-
 .../graphics/species/ComplexConverter.java    |   6 +-
 .../graphics/species/ProteinConverter.java    |   8 +-
 .../SBGNNucleicAcidFeatureConverter.java      |   8 +-
 .../species/SimpleMoleculeConverter.java      |   4 +-
 .../graphics/species/SpeciesConverter.java    |   2 +-
 .../converter/graphics/ConverterTest.java     |   8 +-
 .../graphics/NormalImageGeneratorTest.java    |   6 +-
 .../graphics/PdfImageGeneratorTest.java       |   6 +-
 .../placefinder/AllPlaceFinderTest.java       |  14 +-
 .../converter/ComplexZipConverter.java        |  16 +-
 .../converter/ComplexZipConverterTest.java    |   6 +-
 .../gui/canvas/CanvasSelectMouseListener.java |   2 +-
 .../gui/detailstab/ElementDetailsPanel.java   |   4 +-
 .../mapviewer/commands/ColorModelCommand.java |  10 +-
 .../lcsb/mapviewer/commands/CopyCommand.java  |  42 +--
 .../commands/CreateHierarchyCommand.java      |  70 ++---
 .../lcsb/mapviewer/commands/MoveCommand.java  |   2 +-
 .../commands/MoveElementsCommand.java         |   2 +-
 .../mapviewer/commands/SubModelCommand.java   |  14 +-
 .../commands/CommandTestFunctions.java        |   2 +-
 .../mapviewer/commands/CopyCommandTest.java   |  12 +-
 .../commands/CreateHierarchyCommandTest.java  |  22 +-
 .../commands/SubModelCommandTest.java         |   4 +-
 ...java => ElementInFewParentsException.java} |  48 ++--
 .../compartment/BottomSquareCompartment.java  |  42 +--
 .../model/map/compartment/Compartment.java    |  18 +-
 .../compartment/CompartmentComparator.java    |  37 +--
 .../compartment/LeftSquareCompartment.java    |  45 +--
 .../map/compartment/OvalCompartment.java      |  20 +-
 .../map/compartment/PathwayCompartment.java   |  10 +-
 .../compartment/RightSquareCompartment.java   |  68 +++--
 .../map/compartment/SquareCompartment.java    |  24 +-
 .../map/compartment/TopSquareCompartment.java |  42 +--
 .../model/map/layout/ElementGroup.java        |  30 +-
 .../map/model/AliasSubmodelConnection.java    | 144 ----------
 .../map/model/ElementSubmodelConnection.java  | 144 ++++++++++
 ... ElementSubmodelConnectionComparator.java} |  51 ++--
 .../lcsb/mapviewer/model/map/model/Model.java |  70 ++---
 .../model/map/model/ModelComparator.java      |  48 ++--
 .../mapviewer/model/map/model/ModelData.java  |  67 +++--
 .../model/map/model/ModelFullIndexed.java     | 187 +++++-------
 .../model/SubmodelConnectionComparator.java   |  12 +-
 .../model/map/modifier/Catalysis.java         |  10 +-
 .../model/map/modifier/Inhibition.java        |  10 +-
 .../model/map/modifier/Modulation.java        |  10 +-
 .../map/modifier/PhysicalStimulation.java     |  11 +-
 .../mapviewer/model/map/modifier/Trigger.java |  10 +-
 .../model/map/modifier/UnknownCatalysis.java  |  11 +-
 .../model/map/modifier/UnknownInhibition.java |  10 +-
 .../model/map/reaction/Modifier.java          |   8 +-
 .../mapviewer/model/map/reaction/Product.java |   8 +-
 .../model/map/reaction/Reactant.java          |   8 +-
 .../model/map/reaction/Reaction.java          |   8 +-
 .../model/map/reaction/ReactionNode.java      |  39 ++-
 .../map/reaction/ReactionNodeComparator.java  |   8 +-
 .../model/map/species/AntisenseRna.java       |   8 +-
 .../map/species/AntisenseRnaComparator.java   |  10 +-
 .../model/map/species/ChemicalComparator.java |  20 +-
 .../mapviewer/model/map/species/Complex.java  |  70 ++---
 .../model/map/species/ComplexComparator.java  |  42 +--
 .../model/map/species/DegradedComparator.java |   8 +-
 .../model/map/species/DrugComparator.java     |  10 +-
 .../mapviewer/model/map/species/Element.java  | 144 +++++-----
 .../model/map/species/ElementComparator.java  |  10 +-
 .../model/map/species/GeneComparator.java     |  10 +-
 .../map/species/GenericProteinComparator.java |   4 +-
 .../species/IonChannelProteinComparator.java  |  12 +-
 .../model/map/species/IonComparator.java      |   4 +-
 .../map/species/PhenotypeComparator.java      |  10 +-
 .../model/map/species/ProteinComparator.java  |  34 +--
 .../species/ReceptorProteinComparator.java    |  12 +-
 .../model/map/species/RnaComparator.java      |  10 +-
 .../map/species/SimpleMoleculeComparator.java |   8 +-
 .../mapviewer/model/map/species/Species.java  | 110 ++++----
 .../model/map/species/SpeciesComparator.java  |  16 +-
 .../species/TruncatedProteinComparator.java   |   8 +-
 .../model/map/species/UnknownComparator.java  |  10 +-
 .../lcsb/mapviewer/model/map/AllMapTests.java |   2 +-
 ... => ElementInFewParentsExceptionTest.java} |   4 +-
 .../BottomSquareCompartmentTest.java          |  12 +-
 .../CompartmentComparatorTest.java            | 148 +++++-----
 .../map/compartment/CompartmentTest.java      | 242 ++++++++--------
 .../LeftSquareCompartmentTest.java            |  12 +-
 .../compartment/PathwayCompartmentTest.java   |  12 +-
 .../RightSquareCompartmentTest.java           |  18 +-
 .../compartment/TopSquareCompartmentTest.java |  12 +-
 .../model/map/layout/ElementGroupTest.java    |  12 +-
 .../model/map/model/AllModelTests.java        |  42 +--
 ...mentSubmodelConnectionComparatorTest.java} |  46 +--
 ...ava => ElementSubmodelConnectionTest.java} |  14 +-
 .../model/map/model/ModelComparatorTest.java  |  40 +--
 .../model/map/model/ModelDataTest.java        |  58 ++--
 .../model/map/model/ModelFullIndexedTest.java | 266 +++++++++---------
 ...ModelSubmodelConnectionComparatorTest.java |   6 +-
 .../mapviewer/model/map/model/ModelTest.java  | 158 +++++------
 .../SubmodelConnectionComparatorTest.java     |  18 +-
 .../reaction/NodeOperatorComparatorTest.java  |  48 ++--
 .../map/reaction/ReactionComparatorTest.java  |  30 +-
 .../reaction/ReactionNodeComparatorTest.java  |  18 +-
 .../model/map/reaction/ReactionTest.java      |  16 +-
 .../map/species/ComplexComparatorTest.java    | 156 +++++-----
 .../model/map/species/ComplexTest.java        |  60 ++--
 .../map/species/ElementComparatorTest.java    |  34 +--
 .../model/map/species/ElementTest.java        | 223 +++++++--------
 .../map/species/SpeciesComparatorTest.java    |  86 +++---
 .../model/map/species/SpeciesTest.java        |  10 +-
 .../wikipathway/XML/ModelContructor.java      |  34 +--
 .../wikipathway/XML/ModelToGPML.java          |  40 +--
 .../wikipathway/GPMLToModelTest.java          |   2 +-
 .../mapviewer/wikipathway/XML/BugTest.java    |   2 +-
 persist/src/db/10.0.3/fix_db_20161005.sql     |  24 ++
 .../mapviewer/persist/dao/ProjectDaoTest.java |   4 +-
 .../persist/dao/map/CommentDaoTest.java       |   4 +-
 .../persist/dao/map/LayoutDaoTest.java        |   4 +-
 .../persist/dao/map/ModelDaoTest.java         |  12 +-
 .../dao/map/layout/alias/AliasDaoTest.java    |   8 +-
 .../map/layout/alias/AntisenseRnaTest.java    |   4 +-
 .../persist/dao/map/layout/alias/RnaTest.java |   4 +-
 .../reactome/utils/ReactionComparator.java    |   8 +-
 .../reactome/utils/ReactomeQueryUtil.java     |   2 +-
 .../services/impl/CommentService.java         |   2 +-
 .../services/impl/DataMiningService.java      |   8 +-
 .../services/impl/ExporterService.java        |  82 +++---
 .../mapviewer/services/impl/ModelService.java |   6 +-
 .../services/impl/ProjectService.java         |   4 +-
 .../services/impl/SearchService.java          |  14 +-
 .../services/interfaces/IExporterService.java |   8 +-
 .../services/search/SearchResultFactory.java  |   2 +-
 .../search/data/FullReactionViewFactory.java  |   2 +-
 .../db/chemical/ChemicalViewFactory.java      |   2 +-
 .../search/db/drug/DrugViewFactory.java       |   2 +-
 .../search/db/mirna/MiRNAViewFactory.java     |   2 +-
 .../services/view/CommentViewFactory.java     |   2 +-
 .../services/impl/CommentServiceTest.java     |   2 +-
 .../services/impl/DataMiningServiceTest.java  |   2 +-
 .../services/impl/ExporterServiceTest.java    |   6 +-
 .../services/impl/LogServiceTest.java         |   2 +-
 .../services/impl/ModelServiceTest.java       |   2 +-
 .../services/impl/ProjectServiceTest.java     |   2 +-
 .../services/impl/SearchServiceTest.java      |   2 +-
 .../search/db/drug/DrugViewFactoryTest.java   |   2 +-
 .../utils/graph/MissingConnectionDaoTest.java |   2 +-
 .../lcsb/mapviewer/bean/ChemicalBean.java     |   2 +-
 .../java/lcsb/mapviewer/bean/DrugBean.java    |   4 +-
 .../java/lcsb/mapviewer/bean/ExportBean.java  |   8 +-
 .../lcsb/mapviewer/bean/FeedbackBean.java     |   6 +-
 .../java/lcsb/mapviewer/bean/MiRNABean.java   |   2 +-
 175 files changed, 2347 insertions(+), 2324 deletions(-)
 rename model/src/main/java/lcsb/mapviewer/model/map/{AliasInFewParentsException.java => ElementInFewParentsException.java} (59%)
 delete mode 100644 model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnection.java
 create mode 100644 model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnection.java
 rename model/src/main/java/lcsb/mapviewer/model/map/model/{AliasSubmodelConnectionComparator.java => ElementSubmodelConnectionComparator.java} (52%)
 rename model/src/test/java/lcsb/mapviewer/model/map/{AliasInFewParentsExceptionTest.java => ElementInFewParentsExceptionTest.java} (72%)
 rename model/src/test/java/lcsb/mapviewer/model/map/model/{AliasSubmodelConnectionComparatorTest.java => ElementSubmodelConnectionComparatorTest.java} (63%)
 rename model/src/test/java/lcsb/mapviewer/model/map/model/{AliasSubmodelConnectionTest.java => ElementSubmodelConnectionTest.java} (65%)
 create mode 100644 persist/src/db/10.0.3/fix_db_20161005.sql

diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
index 9ee6a4f7ab..2c5998efc2 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
@@ -240,7 +240,7 @@ public class ModelAnnotator {
 	 */
 	protected void copyAnnotationFromOtherSpecies(Model model, IProgressUpdater progressUpdater) {
 		double counter = 0;
-		double amount = model.getAliases().size();
+		double amount = model.getElements().size();
 		for (Species element : model.getSpeciesList()) {
 			if (element.getMiriamData().size() == 0) {
 				List<Element> speciesList = model.getElementsByName(element.getName());
@@ -275,10 +275,10 @@ public class ModelAnnotator {
 		progressUpdater.setProgress(0);
 
 		double counter = 0;
-		double amount = model.getAliases().size() + model.getReactions().size();
+		double amount = model.getElements().size() + model.getReactions().size();
 
 		// annotate all elements
-		for (Element element : model.getAliases()) {
+		for (Element element : model.getElements()) {
 			List<ElementAnnotator> list = null;
 			if (annotators != null) {
 				list = annotators.get(element.getClass());
@@ -361,9 +361,9 @@ public class ModelAnnotator {
 		double modelCounter = 0;
 		for (Model model : models) {
 			double ratio = modelCounter / modelSize;
-			double size = model.getAliases().size() + model.getReactions().size();
+			double size = model.getElements().size() + model.getReactions().size();
 			double counter = 0;
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				result.addAll(findImproperAnnotations(element, validAnnotations.get(element.getClass())));
 				counter++;
 				updater.setProgress(ratio * IProgressUpdater.MAX_PROGRESS + (counter / size * IProgressUpdater.MAX_PROGRESS) / modelSize);
@@ -427,7 +427,7 @@ public class ModelAnnotator {
 		models.add(m);
 		models.addAll(m.getSubmodels());
 		for (Model model : models) {
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				result.addAll(findMissing(alias, requestedAnnotations.get(alias.getClass())));
 			}
 			for (Reaction reaction : model.getReactions()) {
diff --git a/console/src/main/java/lcsb/mapviewer/run/ConsoleConverter.java b/console/src/main/java/lcsb/mapviewer/run/ConsoleConverter.java
index badffff4c3..ef5e72cef0 100644
--- a/console/src/main/java/lcsb/mapviewer/run/ConsoleConverter.java
+++ b/console/src/main/java/lcsb/mapviewer/run/ConsoleConverter.java
@@ -124,7 +124,7 @@ public class ConsoleConverter {
 			double size = elements.size();
 			double x = 0;
 
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				alias.setWidth(inputOptions.getAliasWidth());
 				alias.setHeight(inputOptions.getAliasHeight());
 				double angle = x / size * 2 * Math.PI;
@@ -271,8 +271,8 @@ public class ConsoleConverter {
 						modifiers.add(modifier);
 					}
 				}
-				Element alias1 = products.get(0).getAlias();
-				Element alias2 = reactants.get(0).getAlias();
+				Element alias1 = products.get(0).getElement();
+				Element alias2 = reactants.get(0).getElement();
 
 				Point2D middle = new Point2D.Double((alias1.getCenterX() + alias2.getCenterX()) / 2, (alias1.getCenterY() + alias2.getCenterY()) / 2);
 
@@ -296,15 +296,15 @@ public class ConsoleConverter {
 					}
 					Reaction reaction = (Reaction) clazz.newInstance();
 					for (Product product : products) {
-						product.setLine(new PolylineData(middle, product.getAlias().getCenter()));
+						product.setLine(new PolylineData(middle, product.getElement().getCenter()));
 						reaction.addProduct(product);
 					}
 					for (Reactant reactant : reactants) {
-						reactant.setLine(new PolylineData(reactant.getAlias().getCenter(), middle));
+						reactant.setLine(new PolylineData(reactant.getElement().getCenter(), middle));
 						reaction.addReactant(reactant);
 					}
 					for (Modifier modifier : modifiers) {
-						modifier.setLine(new PolylineData(middle, modifier.getAlias().getCenter()));
+						modifier.setLine(new PolylineData(middle, modifier.getElement().getCenter()));
 						reaction.addModifier(modifier);
 					}
 					reaction.addMiriamData(annotations);
diff --git a/console/src/main/java/lcsb/mapviewer/run/ReactomeExport.java b/console/src/main/java/lcsb/mapviewer/run/ReactomeExport.java
index 6e14c62fea..79d565bd1e 100644
--- a/console/src/main/java/lcsb/mapviewer/run/ReactomeExport.java
+++ b/console/src/main/java/lcsb/mapviewer/run/ReactomeExport.java
@@ -127,7 +127,7 @@ public class ReactomeExport {
 			result = id;
 
 			if (alias instanceof Complex) {
-				for (Element a : ((Complex) alias).getAliases()) {
+				for (Element a : ((Complex) alias).getElements()) {
 					addElement(a);
 				}
 			} else if (alias instanceof Compartment) {
@@ -178,7 +178,7 @@ public class ReactomeExport {
 	private void printAliases(Model model) throws IOException {
 		print("<Nodes>\n");
 		List<Element> aliases = new ArrayList<Element>();
-		aliases.addAll(model.getAliases());
+		aliases.addAll(model.getElements());
 		Collections.sort(aliases, Element.SIZE_COMPARATOR);
 		for (Element alias : aliases) {
 			if (!aliasFeasible(alias)) {
@@ -207,7 +207,7 @@ public class ReactomeExport {
 				}
 				parameters.put("displayName", alias.getName());
 				if (alias instanceof Complex) {
-					for (Element a : ((Complex) alias).getAliases()) {
+					for (Element a : ((Complex) alias).getElements()) {
 						components.add(addElement(a));
 					}
 				}
@@ -298,7 +298,7 @@ public class ReactomeExport {
 			}
 
 			for (ReactionNode node : reaction.getReactionNodes()) {
-				Integer id = tempIds.get(node.getAlias());
+				Integer id = tempIds.get(node.getElement());
 				if (node instanceof Reactant) {
 					inputs.put(id, getInputString((Reactant) node));
 				} else if (node instanceof Product) {
@@ -443,7 +443,7 @@ public class ReactomeExport {
 	 */
 	private boolean isReactionFeasible(Reaction reaction) {
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			if (!aliasFeasible(node.getAlias())) {
+			if (!aliasFeasible(node.getElement())) {
 				return false;
 			}
 		}
diff --git a/console/src/main/java/lcsb/mapviewer/run/Statistics.java b/console/src/main/java/lcsb/mapviewer/run/Statistics.java
index 52f1cf6540..bb399e4ae4 100644
--- a/console/src/main/java/lcsb/mapviewer/run/Statistics.java
+++ b/console/src/main/java/lcsb/mapviewer/run/Statistics.java
@@ -188,7 +188,7 @@ public class Statistics {
 		Map<String, Set<String>> typeNames = new HashMap<>();
 
 		for (Model model : models) {
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				if (element instanceof Species) {
 					names.add(element.getName());
 					Set<String> tmp = typeNames.get(element.getClass().getName());
@@ -223,7 +223,7 @@ public class Statistics {
 
 		Set<String> set = new HashSet<String>();
 		for (Model model : models) {
-			for (Compartment comp : model.getCompartmentsAliases()) {
+			for (Compartment comp : model.getCompartments()) {
 				set.add(comp.getName());
 			}
 		}
@@ -255,7 +255,7 @@ public class Statistics {
 		}
 		print("-----------------------------");
 		print("Complex annotations:");
-		for (Element element : model.getAliases()) {
+		for (Element element : model.getElements()) {
 			if (element instanceof Complex && element.getMiriamData().size() > 0) {
 				print(element.getClass().getSimpleName() + ";\t\tname=" + element.getName() + ";\t\tid=" + element.getElementId());
 			}
@@ -316,7 +316,7 @@ public class Statistics {
 	 */
 	protected String createPubmedExportString(Model model) throws Exception {
 		Map<String, List<String>> links = new HashMap<String, List<String>>();
-		for (Element element : model.getAliases()) {
+		for (Element element : model.getElements()) {
 			for (MiriamData md : element.getMiriamData()) {
 				if (MiriamType.PUBMED.equals(md.getDataType())) {
 					List<String> list = links.get(md.getResource());
diff --git a/console/src/main/java/lcsb/mapviewer/run/UnknownReactionInReactome.java b/console/src/main/java/lcsb/mapviewer/run/UnknownReactionInReactome.java
index f9153e1376..a528f95489 100644
--- a/console/src/main/java/lcsb/mapviewer/run/UnknownReactionInReactome.java
+++ b/console/src/main/java/lcsb/mapviewer/run/UnknownReactionInReactome.java
@@ -126,13 +126,13 @@ public class UnknownReactionInReactome {
 					MatchResult matchResult = new MatchResult();
 					matchResult.setLocalReaction(reaction);
 					for (ReactionNode node : reaction.getReactants()) {
-						matchResult.addInvalidLocalInput(node.getAlias());
+						matchResult.addInvalidLocalInput(node.getElement());
 					}
 					for (ReactionNode node : reaction.getProducts()) {
-						matchResult.addInvalidLocalOutput(node.getAlias());
+						matchResult.addInvalidLocalOutput(node.getElement());
 					}
 					for (ReactionNode node : reaction.getModifiers()) {
-						matchResult.addInvalidLocalModifier(node.getAlias());
+						matchResult.addInvalidLocalModifier(node.getElement());
 					}
 					results.add(matchResult);
 					printResult(matchResult);
@@ -208,9 +208,9 @@ public class UnknownReactionInReactome {
 
 		Set<String> ontologies = new HashSet<String>();
 
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			for (ReactionNode node : result.getLocalReaction().getReactionNodes()) {
-				if (alias.contains(node.getAlias())) {
+				if (alias.contains(node.getElement())) {
 					ontologies.add(alias.getName());
 					break;
 				}
diff --git a/console/src/main/java/lcsb/mapviewer/run/VibineSnippet.java b/console/src/main/java/lcsb/mapviewer/run/VibineSnippet.java
index 911a6e379b..04da1a646b 100644
--- a/console/src/main/java/lcsb/mapviewer/run/VibineSnippet.java
+++ b/console/src/main/java/lcsb/mapviewer/run/VibineSnippet.java
@@ -76,7 +76,7 @@ public class VibineSnippet {
 		logger.debug("File processed.");
 
 		logger.debug("-------------------------------");
-		logger.debug("Number of elements: " + model.getAliases().size());
+		logger.debug("Number of elements: " + model.getElements().size());
 
 		logger.debug("Number of reactions: " + model.getReactions().size());
 
@@ -96,7 +96,7 @@ public class VibineSnippet {
 		logger.debug("Reaction with id: " + reactionId);
 		logger.debug("Reaction has " + reaction.getReactionNodes().size() + " members.");
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			logger.debug(node.getClass().getSimpleName() + "; points to " + node.getAlias().getClass().getSimpleName() + "[" + node.getAlias().getElementId() + "]");
+			logger.debug(node.getClass().getSimpleName() + "; points to " + node.getElement().getClass().getSimpleName() + "[" + node.getElement().getElementId() + "]");
 		}
 		logger.debug("-------------------------------");
 	}
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
index 7badb62f75..4cfb43d3de 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
@@ -264,7 +264,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 		double maxY = 0;
 		double minX = model.getWidth();
 		double minY = model.getHeight();
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			maxX = Math.max(maxX, alias.getWidth() + alias.getX());
 			maxY = Math.max(maxY, alias.getHeight() + alias.getY());
 
@@ -503,7 +503,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 					}
 					Complex complex = (Complex) model.getElementByElementId(complexId);
 					if (complex != null) {
-						complex.addAlias(alias);
+						complex.addSpecies(alias);
 						alias.setParent(complex);
 					}
 				} else {
@@ -541,7 +541,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 						Complex complex = (Complex) model.getElementByElementId(complexId);
 						if (complex != null) {
 							alias.setParent(complex);
-							complex.addAlias((Species) alias);
+							complex.addSpecies((Species) alias);
 						}
 					}
 				} else {
@@ -586,7 +586,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 
 		compartmentCollectionXmlParser = new CompartmentCollectionXmlParser(elements);
 
-		result.append(compartmentCollectionXmlParser.toXml(model.getCompartmentsAliases()));
+		result.append(compartmentCollectionXmlParser.toXml(model.getCompartments()));
 
 		result.append(speciesCollectionXmlParser.speciesCollectionToSbmlString(model.getSpeciesList()));
 
@@ -615,7 +615,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 
 		result.append(speciesCollectionXmlParser.speciesCollectionToXmlIncludedString(model.getSpeciesList()));
 
-		result.append(aliasCollectionParser.compartmentAliasCollectionToXmlString(model.getCompartmentsAliases()));
+		result.append(aliasCollectionParser.compartmentAliasCollectionToXmlString(model.getCompartments()));
 		result.append(aliasCollectionParser.complexAliasCollectionToXmlString(model.getComplexList()));
 		result.append(aliasCollectionParser.speciesAliasCollectionToXmlString(model.getNotComplexSpeciesList()));
 
@@ -623,7 +623,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 		List<Gene> genes = new ArrayList<>();
 		List<Rna> rnas = new ArrayList<>();
 		List<AntisenseRna> antisenseRnas = new ArrayList<>();
-		for (Element element : model.getAliases()) {
+		for (Element element : model.getElements()) {
 			if (element instanceof Protein) {
 				proteins.add((Protein) element);
 			} else if (element instanceof Gene) {
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java
index 17895675ac..51b36f8732 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java
@@ -144,7 +144,7 @@ public class LayerXmlParser extends XmlParser {
 			Node node = nodes.item(x);
 			if (node.getNodeType() == Node.ELEMENT_NODE) {
 				if (node.getNodeName().equalsIgnoreCase("celldesigner:group")) {
-					model.addAliasGroup(getAliasGroup(node, model));
+					model.addElementGroup(getAliasGroup(node, model));
 				} else {
 					throw new InvalidXmlSchemaException("Unknown element of celldesigner:listOfGroups: " + node.getNodeName());
 				}
@@ -176,7 +176,7 @@ public class LayerXmlParser extends XmlParser {
 			if (alias == null) {
 				throw new InvalidGroupException("Group \"" + id + "\" contains alias with id: \"" + string + "\", but such alias doesn't exist in the model.");
 			}
-			result.addAlias(alias);
+			result.addElement(alias);
 		}
 
 		NodeList nodes = groupNode.getChildNodes();
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java
index 57f6280526..3cc2aeaeac 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java
@@ -169,8 +169,8 @@ public class ComplexAliasXmlParser extends AbstractAliasXmlParser<Complex> {
 		if ("open".equalsIgnoreCase(state)) {
 			String prefix = getNodeAttr("prefix", node);
 			String label = getNodeAttr("label", node);
-			alias.setAliasStatePrefix(prefix);
-			alias.setAliasStateLabel(label);
+			alias.setStatePrefix(prefix);
+			alias.setStateLabel(label);
 		} else if ("empty".equalsIgnoreCase(state)) {
 			return;
 		} else if (state == null || state.isEmpty()) {
@@ -195,7 +195,7 @@ public class ComplexAliasXmlParser extends AbstractAliasXmlParser<Complex> {
 				throw new InvalidArgumentException("Parent complex alias does not exist: " + parentId + " for alias: " + alias.getElementId());
 			} else {
 				alias.setParent(ca);
-				ca.addAlias(alias);
+				ca.addSpecies(alias);
 			}
 		}
 	}
@@ -207,12 +207,12 @@ public class ComplexAliasXmlParser extends AbstractAliasXmlParser<Complex> {
 		// exported to CellDesigner file
 		if (alias.getParent() instanceof Compartment && !(alias.getParent() instanceof PathwayCompartment)) {
 			ca = (Compartment) alias.getParent();
-		} else if (alias.getCompartmentAlias() != null && !(alias.getCompartmentAlias() instanceof PathwayCompartment)) {
-			ca = alias.getCompartmentAlias();
-		} else if (alias.getComplexAlias() == null) {
+		} else if (alias.getCompartment() != null && !(alias.getCompartment() instanceof PathwayCompartment)) {
+			ca = alias.getCompartment();
+		} else if (alias.getComplex() == null) {
 			ModelData modelData = alias.getModelData();
 			if (modelData != null) {
-				for (Compartment cAlias : modelData.getModel().getCompartmentsAliases()) {
+				for (Compartment cAlias : modelData.getModel().getCompartments()) {
 					if (!(cAlias instanceof PathwayCompartment) && cAlias.cross(alias)) {
 						if (ca == null) {
 							ca = cAlias;
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
index 7b2e486120..9e37254363 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
@@ -126,7 +126,7 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
 				throw new InvalidXmlSchemaException("ComplexAlias does not exist: " + complexAliasId + ", current: " + result.getElementId());
 			} else {
 				result.setParent(alias);
-				alias.addAlias(result);
+				alias.addSpecies(result);
 			}
 		}
 		return result;
@@ -145,8 +145,8 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
 		if ("open".equalsIgnoreCase(state)) {
 			String prefix = getNodeAttr("prefix", node);
 			String label = getNodeAttr("label", node);
-			alias.setAliasStatePrefix(prefix);
-			alias.setAliasStateLabel(label);
+			alias.setStatePrefix(prefix);
+			alias.setStateLabel(label);
 		} else if ("empty".equalsIgnoreCase(state)) {
 			return;
 		} else if (state == null || state.isEmpty()) {
@@ -163,10 +163,10 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
 		// artifitial compartment aliases should be excluded
 		if (alias.getParent() instanceof Compartment && !(alias.getParent() instanceof PathwayCompartment)) {
 			ca = (Compartment) alias.getParent();
-		} else if (alias.getComplexAlias() == null) {
+		} else if (alias.getComplex() == null) {
 			ModelData model = alias.getModelData();
 			if (model != null) {
-				for (Compartment cAlias : model.getModel().getCompartmentsAliases()) {
+				for (Compartment cAlias : model.getModel().getCompartments()) {
 					if (!(cAlias instanceof PathwayCompartment) && cAlias.cross(alias)) {
 						if (ca == null) {
 							ca = cAlias;
@@ -231,8 +231,8 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
 		sb.append("<celldesigner:singleLine width=\"" + alias.getLineWidth() + "\"/>");
 		sb.append("<celldesigner:paint color=\"" + colorToString(alias.getColor()) + "\" scheme=\"Color\"/>");
 		sb.append("</celldesigner:briefView>\n");
-		if (alias.getAliasStateLabel() != null || alias.getAliasStatePrefix() != null) {
-			sb.append("<celldesigner:info state=\"open\" prefix=\"" + alias.getAliasStatePrefix() + "\" label=\"" + alias.getAliasStateLabel() + "\"/>\n");
+		if (alias.getStateLabel() != null || alias.getStatePrefix() != null) {
+			sb.append("<celldesigner:info state=\"open\" prefix=\"" + alias.getStatePrefix() + "\" label=\"" + alias.getStateLabel() + "\"/>\n");
 		}
 		sb.append("</celldesigner:speciesAlias>\n");
 		return sb.toString();
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java
index dbad556ddb..afd11e0ff5 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java
@@ -365,7 +365,7 @@ public class ReactionFromXml extends XmlParser {
 		}
 		for (int i = 0; i < result.getModifiers().size(); i++) {
 			Modifier modifier = result.getModifiers().get(i);
-			if (modifier.getAlias() == null) {
+			if (modifier.getElement() == null) {
 				List<Modifier> modifiers = new ArrayList<Modifier>();
 				modifiers.add(modifier);
 				for (Modifier modifier2 : result.getModifiers()) {
@@ -481,7 +481,7 @@ public class ReactionFromXml extends XmlParser {
 	 *          modifier to update
 	 */
 	private void createLineForModifier(Reaction reaction, Modifier modifier) {
-		Element alias = modifier.getAlias();
+		Element alias = modifier.getElement();
 		CellDesignerAliasConverter converter = new CellDesignerAliasConverter(alias);
 		Point2D startPoint = converter.getPointCoordinates(alias, anchorsByNodes.get(modifier));
 		ModifierTypeUtils modifierTypeUtils = new ModifierTypeUtils();
@@ -820,16 +820,16 @@ public class ReactionFromXml extends XmlParser {
 		Product product2 = reaction.getProducts().get(1);
 		Reactant reactant = reaction.getReactants().get(0);
 
-		CellDesignerAliasConverter reactantConverter = new CellDesignerAliasConverter(reactant.getAlias());
-		CellDesignerAliasConverter product1Converter = new CellDesignerAliasConverter(product1.getAlias());
-		CellDesignerAliasConverter product2Converter = new CellDesignerAliasConverter(product2.getAlias());
+		CellDesignerAliasConverter reactantConverter = new CellDesignerAliasConverter(reactant.getElement());
+		CellDesignerAliasConverter product1Converter = new CellDesignerAliasConverter(product1.getElement());
+		CellDesignerAliasConverter product2Converter = new CellDesignerAliasConverter(product2.getElement());
 
-		Point2D p1 = reactantConverter.getPointCoordinates(reactant.getAlias(), anchorsByNodes.get(reactant));
-		Point2D p2 = product1Converter.getPointCoordinates(product1.getAlias(), anchorsByNodes.get(product1));
-		Point2D p3 = product2Converter.getPointCoordinates(product2.getAlias(), anchorsByNodes.get(product2));
+		Point2D p1 = reactantConverter.getPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant));
+		Point2D p2 = product1Converter.getPointCoordinates(product1.getElement(), anchorsByNodes.get(product1));
+		Point2D p3 = product2Converter.getPointCoordinates(product2.getElement(), anchorsByNodes.get(product2));
 
 		Point2D centerPoint = pointTransformation
-				.getCoordinatesInNormalBase(product1.getAlias().getCenter(), product2.getAlias().getCenter(), reactant.getAlias().getCenter(), p);
+				.getCoordinatesInNormalBase(product1.getElement().getCenter(), product2.getElement().getCenter(), reactant.getElement().getCenter(), p);
 
 		int startId0 = 0;
 		int num0 = points.getNum0();
@@ -847,13 +847,13 @@ public class ReactionFromXml extends XmlParser {
 
 		PolylineData reactantLine = PolylineDataFactory.createPolylineDataFromEditPoints(centerPoint, p1, linePoints1);
 
-		p1 = product2Converter.getAnchorPointCoordinates(product2.getAlias(), anchorsByNodes.get(product2), product2Line.reverse());
+		p1 = product2Converter.getAnchorPointCoordinates(product2.getElement(), anchorsByNodes.get(product2), product2Line.reverse());
 		product2Line.setEndPoint(p1);
 
-		p1 = product1Converter.getAnchorPointCoordinates(product1.getAlias(), anchorsByNodes.get(product1), product1Line.reverse());
+		p1 = product1Converter.getAnchorPointCoordinates(product1.getElement(), anchorsByNodes.get(product1), product1Line.reverse());
 		product1Line.setEndPoint(p1);
 
-		p1 = reactantConverter.getAnchorPointCoordinates(reactant.getAlias(), anchorsByNodes.get(reactant), reactantLine.reverse());
+		p1 = reactantConverter.getAnchorPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant), reactantLine.reverse());
 		reactantLine.setEndPoint(p1);
 
 		product2Line.getEndAtd().setArrowType(ArrowType.FULL);
@@ -884,16 +884,16 @@ public class ReactionFromXml extends XmlParser {
 		Product product = reaction.getProducts().get(0);
 		Reactant reactant1 = reaction.getReactants().get(0);
 		Reactant reactant2 = reaction.getReactants().get(1);
-		CellDesignerAliasConverter productConverter = new CellDesignerAliasConverter(product.getAlias());
-		CellDesignerAliasConverter reactantConverter1 = new CellDesignerAliasConverter(reactant1.getAlias());
-		CellDesignerAliasConverter reactantConverter2 = new CellDesignerAliasConverter(reactant2.getAlias());
-		Point2D p1 = reactantConverter1.getPointCoordinates(reactant1.getAlias(), anchorsByNodes.get(reactant1));
-		Point2D p2 = reactantConverter2.getPointCoordinates(reactant2.getAlias(), anchorsByNodes.get(reactant2));
-		Point2D p3 = productConverter.getPointCoordinates(product.getAlias(), anchorsByNodes.get(product));
+		CellDesignerAliasConverter productConverter = new CellDesignerAliasConverter(product.getElement());
+		CellDesignerAliasConverter reactantConverter1 = new CellDesignerAliasConverter(reactant1.getElement());
+		CellDesignerAliasConverter reactantConverter2 = new CellDesignerAliasConverter(reactant2.getElement());
+		Point2D p1 = reactantConverter1.getPointCoordinates(reactant1.getElement(), anchorsByNodes.get(reactant1));
+		Point2D p2 = reactantConverter2.getPointCoordinates(reactant2.getElement(), anchorsByNodes.get(reactant2));
+		Point2D p3 = productConverter.getPointCoordinates(product.getElement(), anchorsByNodes.get(product));
 
-		Element alias1 = reactant1.getAlias();
-		Element alias2 = reactant2.getAlias();
-		Element alias3 = product.getAlias();
+		Element alias1 = reactant1.getElement();
+		Element alias2 = reactant2.getElement();
+		Element alias3 = product.getElement();
 
 		Point2D pointA = alias2.getCenter();
 		Point2D pointC = alias1.getCenter();
@@ -932,15 +932,15 @@ public class ReactionFromXml extends XmlParser {
 
 		PolylineData productLine = PolylineDataFactory.createPolylineDataFromEditPoints(centerPoint, p3, linePoints3);
 
-		p1 = reactantConverter1.getAnchorPointCoordinates(reactant1.getAlias(), anchorsByNodes.get(reactant1), reactant1Line.reverse());
+		p1 = reactantConverter1.getAnchorPointCoordinates(reactant1.getElement(), anchorsByNodes.get(reactant1), reactant1Line.reverse());
 		reactant1Line.setEndPoint(p1);
 		reactant1Line = reactant1Line.reverse();
 
-		p1 = reactantConverter2.getAnchorPointCoordinates(reactant2.getAlias(), anchorsByNodes.get(reactant2), reactant2Line.reverse());
+		p1 = reactantConverter2.getAnchorPointCoordinates(reactant2.getElement(), anchorsByNodes.get(reactant2), reactant2Line.reverse());
 		reactant2Line.setEndPoint(p1);
 		reactant2Line = reactant2Line.reverse();
 
-		p1 = productConverter.getAnchorPointCoordinates(product.getAlias(), anchorsByNodes.get(product), productLine.reverse());
+		p1 = productConverter.getAnchorPointCoordinates(product.getElement(), anchorsByNodes.get(product), productLine.reverse());
 		productLine.setEndPoint(p1);
 		if (hasGateMemebers) {
 			productLine.getEndAtd().setArrowType(ArrowType.OPEN);
@@ -967,11 +967,11 @@ public class ReactionFromXml extends XmlParser {
 	private void createLinesForSimpleReaction(Reaction reaction, EditPoints editPoints, ConnectScheme scheme) {
 		Product product = reaction.getProducts().get(0);
 		Reactant reactant = reaction.getReactants().get(0);
-		CellDesignerAliasConverter productConverter = new CellDesignerAliasConverter(product.getAlias());
-		CellDesignerAliasConverter reactantConverter = new CellDesignerAliasConverter(reactant.getAlias());
+		CellDesignerAliasConverter productConverter = new CellDesignerAliasConverter(product.getElement());
+		CellDesignerAliasConverter reactantConverter = new CellDesignerAliasConverter(reactant.getElement());
 
-		Point2D endPoint = productConverter.getPointCoordinates(product.getAlias(), anchorsByNodes.get(product));
-		Point2D startPoint = reactantConverter.getPointCoordinates(reactant.getAlias(), anchorsByNodes.get(reactant));
+		Point2D endPoint = productConverter.getPointCoordinates(product.getElement(), anchorsByNodes.get(product));
+		Point2D startPoint = reactantConverter.getPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant));
 
 		PolylineData ld = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, endPoint, editPoints.getPoints());
 
@@ -991,8 +991,8 @@ public class ReactionFromXml extends XmlParser {
 		if (index == null) {
 			index = 0;
 		}
-		startPoint = reactantConverter.getAnchorPointCoordinates(reactant.getAlias(), anchorsByNodes.get(reactant), ld);
-		endPoint = productConverter.getAnchorPointCoordinates(product.getAlias(), anchorsByNodes.get(product), ld.reverse());
+		startPoint = reactantConverter.getAnchorPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant), ld);
+		endPoint = productConverter.getAnchorPointCoordinates(product.getElement(), anchorsByNodes.get(product), ld.reverse());
 		ld.getPoints().set(0, startPoint);
 		ld.getPoints().set(ld.getPoints().size() - 1, endPoint);
 
@@ -1397,7 +1397,7 @@ public class ReactionFromXml extends XmlParser {
 				throw new UnknownModifierClassException(errorInfo, type, reaction.getIdReaction());
 			}
 			for (Modifier modifier : reaction.getModifiers()) {
-				if (modifier.getAlias() == aliasList.get(0) && modifier.getClass() == mType.getClazz()) {
+				if (modifier.getElement() == aliasList.get(0) && modifier.getClass() == mType.getClazz()) {
 					result = modifier;
 				}
 			}
@@ -1461,12 +1461,12 @@ public class ReactionFromXml extends XmlParser {
 
 		for (int i = 1; i < modifiers.size(); i++) {
 			Modifier param = modifiers.get(i);
-			CellDesignerAliasConverter reactantConverter = new CellDesignerAliasConverter(param.getAlias());
-			startPoint = reactantConverter.getPointCoordinates(param.getAlias(), anchorsByNodes.get(param));
+			CellDesignerAliasConverter reactantConverter = new CellDesignerAliasConverter(param.getElement());
+			startPoint = reactantConverter.getPointCoordinates(param.getElement(), anchorsByNodes.get(param));
 
 			PolylineData polyline = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, endPoint, pointsByModifier.get(param));
 
-			startPoint = reactantConverter.getAnchorPointCoordinates(param.getAlias(), anchorsByNodes.get(param), polyline);
+			startPoint = reactantConverter.getAnchorPointCoordinates(param.getElement(), anchorsByNodes.get(param), polyline);
 			polyline.setStartPoint(startPoint);
 			param.setLine(polyline);
 		}
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java
index 4c97f5884b..cb5690bad3 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java
@@ -179,7 +179,7 @@ public class ReactionToXml extends XmlParser {
 	 * @return modifierSpeciesReference sbml node for given modifer
 	 */
 	private String getModifierReferenceXmlString(Modifier modifier) {
-		Element alias = modifier.getAlias();
+		Element alias = modifier.getElement();
 		StringBuilder sb = new StringBuilder();
 		sb.append("<modifierSpeciesReference ");
 		sb.append("metaid=\"" + elements.getElementId(alias) + "\" ");
@@ -217,11 +217,11 @@ public class ReactionToXml extends XmlParser {
 			if (modifier instanceof Modifier) {
 				Modifier mod = (Modifier) modifier;
 				if (modifiers.equals("")) {
-					modifiers = elements.getElementId(mod.getAlias());
-					aliases = mod.getAlias().getElementId();
+					modifiers = elements.getElementId(mod.getElement());
+					aliases = mod.getElement().getElementId();
 				} else {
-					modifiers += "," + elements.getElementId(mod.getAlias());
-					aliases += "," + mod.getAlias().getElementId();
+					modifiers += "," + elements.getElementId(mod.getElement());
+					aliases += "," + mod.getElement().getElementId();
 				}
 
 			}
@@ -273,17 +273,17 @@ public class ReactionToXml extends XmlParser {
 		sb.append("<celldesigner:modification ");
 		String type = modifierTypeUtils.getStringTypeByModifier(modifier);
 		sb.append(" type=\"" + type + "\" ");
-		sb.append(" modifiers=\"" + elements.getElementId(modifier.getAlias()) + "\" ");
-		sb.append(" aliases=\"" + modifier.getAlias().getElementId() + "\" ");
+		sb.append(" modifiers=\"" + elements.getElementId(modifier.getElement()) + "\" ");
+		sb.append(" aliases=\"" + modifier.getElement().getElementId() + "\" ");
 		sb.append(" targetLineIndex=\"" + modifierTypeUtils.getTargetLineIndexByModifier(modifier) + "\" ");
 		PolylineData line = new PolylineData(modifier.getLine());
 
 		line.trimEnd(-modifierTypeUtils.getModifierTypeForClazz(modifier.getClass()).getTrimLength());
 		if (gate != null) {
 			line.setEndPoint(gate.getLine().getBeginPoint());
-			CellDesignerAliasConverter converter = new CellDesignerAliasConverter(modifier.getAlias());
-			CellDesignerAnchor anchor = converter.getAnchorForCoordinates(modifier.getAlias(), line.getBeginPoint());
-			Point2D start = converter.getPointCoordinates(modifier.getAlias(), anchor);
+			CellDesignerAliasConverter converter = new CellDesignerAliasConverter(modifier.getElement());
+			CellDesignerAnchor anchor = converter.getAnchorForCoordinates(modifier.getElement(), line.getBeginPoint());
+			Point2D start = converter.getPointCoordinates(modifier.getElement(), anchor);
 			line.setStartPoint(start);
 		}
 
@@ -328,8 +328,8 @@ public class ReactionToXml extends XmlParser {
 	 */
 	private String getLinkTargetXmlString(Modifier modifier) {
 		StringBuilder sb = new StringBuilder();
-		sb.append("<celldesigner:linkTarget species=\"" + elements.getElementId(modifier.getAlias()) + "\" alias=\"" + modifier.getAlias().getElementId() + "\">\n");
-		sb.append(getAnchorXml(modifier.getAlias(), modifier.getLine().getBeginPoint()));
+		sb.append("<celldesigner:linkTarget species=\"" + elements.getElementId(modifier.getElement()) + "\" alias=\"" + modifier.getElement().getElementId() + "\">\n");
+		sb.append(getAnchorXml(modifier.getElement(), modifier.getLine().getBeginPoint()));
 		sb.append("</celldesigner:linkTarget>\n");
 
 		return sb.toString();
@@ -348,13 +348,13 @@ public class ReactionToXml extends XmlParser {
 		for (Product product : reaction.getProducts()) {
 			// metaid is missing, maybe it will work ;)
 
-			Element alias = product.getAlias();
+			Element alias = product.getElement();
 
 			sb.append("<speciesReference species=\"" + elements.getElementId(alias) + "\">\n");
 
 			sb.append("<annotation>\n");
 			sb.append("<celldesigner:extension>\n");
-			sb.append("<celldesigner:alias>" + product.getAlias().getElementId() + "</celldesigner:alias>\n");
+			sb.append("<celldesigner:alias>" + product.getElement().getElementId() + "</celldesigner:alias>\n");
 			sb.append("</celldesigner:extension>\n");
 			sb.append("</annotation>\n");
 			sb.append("</speciesReference>\n");
@@ -375,20 +375,20 @@ public class ReactionToXml extends XmlParser {
 		sb.append("<listOfReactants>\n");
 		for (Reactant reactant : reaction.getReactants()) {
 			// metaid is missing, maybe it will work ;)
-			Species species = (Species) reactant.getAlias();
+			Species species = (Species) reactant.getElement();
 
 			Set<Element> parents = new HashSet<>();
 
 			// we need top parent species
-			while (species.getComplexAlias() != null) {
-				species = species.getComplexAlias();
+			while (species.getComplex() != null) {
+				species = species.getComplex();
 				if (parents.contains(species)) {
 					throw new InvalidArgumentException(eu.getElementTag(species) + " Complex information is cyclic");
 				}
 				parents.add(species);
 			}
 			// and top parent alias (for sbml compliant view of celldesigner file)
-			Element alias = reactant.getAlias();
+			Element alias = reactant.getElement();
 			while (alias.getParent() instanceof Complex) {
 				alias = alias.getParent();
 			}
@@ -466,8 +466,8 @@ public class ReactionToXml extends XmlParser {
 				result.append("<celldesigner:listOfGateMember>\n");
 				ReactionLineData lineData = ReactionLineData
 						.getByLineType(reaction.getProducts().get(0).getLine().getType(), reaction.getProducts().get(0).getLine().getEndAtd().getArrowType());
-				Element alias1 = reactant1.getAlias();
-				Element alias2 = reactant2.getAlias();
+				Element alias1 = reactant1.getElement();
+				Element alias2 = reactant2.getElement();
 
 				// product line
 				result.append("<celldesigner:GateMember type=\"" + type.getStringName() + "\"");
@@ -596,7 +596,7 @@ public class ReactionToXml extends XmlParser {
 	 * @return xml node describing reactantLink
 	 */
 	private String getReactantLinkXmlString(Reactant reactant) {
-		Element alias = reactant.getAlias();
+		Element alias = reactant.getElement();
 		StringBuilder sb = new StringBuilder();
 		sb.append("<celldesigner:reactantLink ");
 		sb.append("reactant=\"" + elements.getElementId(alias) + "\" ");
@@ -633,7 +633,7 @@ public class ReactionToXml extends XmlParser {
 	 * @return xml node describing productLink
 	 */
 	private String getProductLinkXmlString(Product product) {
-		Element alias = product.getAlias();
+		Element alias = product.getElement();
 		PolylineData[] lines = new PolylineData[] { product.getLine() };
 
 		StringBuilder sb = new StringBuilder();
@@ -818,19 +818,19 @@ public class ReactionToXml extends XmlParser {
 			}
 
 			Point2D endPoint = points.get(points.size() - 1);
-			CellDesignerAliasConverter converter = new CellDesignerAliasConverter(product.getAlias());
-			CellDesignerAnchor anchor = converter.getAnchorForCoordinates(product.getAlias(), endPoint);
+			CellDesignerAliasConverter converter = new CellDesignerAliasConverter(product.getElement());
+			CellDesignerAnchor anchor = converter.getAnchorForCoordinates(product.getElement(), endPoint);
 			if (anchor == null) { // when we have no anchor, then end point is set
 				// to
 				// the center of alias
-				points.set(points.size() - 1, product.getAlias().getCenter());
+				points.set(points.size() - 1, product.getElement().getCenter());
 			}
 
 			PolylineData line3 = new PolylineData(points);
 
-			Point2D pointC = reactant1.getAlias().getCenter();
-			Point2D pointA = reactant2.getAlias().getCenter();
-			Point2D pointB = product.getAlias().getCenter();
+			Point2D pointC = reactant1.getElement().getCenter();
+			Point2D pointA = reactant2.getElement().getCenter();
+			Point2D pointB = product.getElement().getCenter();
 
 			Point2D pointO = line3.getBeginPoint();
 
@@ -850,12 +850,12 @@ public class ReactionToXml extends XmlParser {
 			}
 
 			Point2D startPoint = points.get(0);
-			CellDesignerAliasConverter converter = new CellDesignerAliasConverter(reactant.getAlias());
-			CellDesignerAnchor anchor = converter.getAnchorForCoordinates(reactant.getAlias(), startPoint);
+			CellDesignerAliasConverter converter = new CellDesignerAliasConverter(reactant.getElement());
+			CellDesignerAnchor anchor = converter.getAnchorForCoordinates(reactant.getElement(), startPoint);
 			if (anchor == null) { // when we have no anchor, then end point is set
 				// to
 				// the center of alias
-				points.set(points.size() - 1, reactant.getAlias().getCenter());
+				points.set(points.size() - 1, reactant.getElement().getCenter());
 			}
 			int index = points.size();
 			for (NodeOperator operator : reaction.getOperators()) {
@@ -880,9 +880,9 @@ public class ReactionToXml extends XmlParser {
 			PolylineData line2 = product1.getLine();
 			PolylineData line3 = product2.getLine();
 
-			Point2D pointA = product1.getAlias().getCenter();
-			Point2D pointB = product2.getAlias().getCenter();
-			Point2D pointC = reactant.getAlias().getCenter();
+			Point2D pointA = product1.getElement().getCenter();
+			Point2D pointB = product2.getElement().getCenter();
+			Point2D pointC = reactant.getElement().getCenter();
 
 			Point2D pointO = line2.getBeginPoint();
 
@@ -972,10 +972,10 @@ public class ReactionToXml extends XmlParser {
 		StringBuilder sb = new StringBuilder();
 		sb.append("<celldesigner:baseProducts>\n");
 		for (Product product : products) {
-			Element alias = product.getAlias();
+			Element alias = product.getElement();
 			sb.append("<celldesigner:baseProduct ");
-			sb.append("species=\"" + elements.getElementId(product.getAlias()) + "\" ");
-			sb.append("alias=\"" + product.getAlias().getElementId() + "\" ");
+			sb.append("species=\"" + elements.getElementId(product.getElement()) + "\" ");
+			sb.append("alias=\"" + product.getElement().getElementId() + "\" ");
 			sb.append(">\n");
 			sb.append(getAnchorXml(alias, product.getLine().getEndPoint()));
 
@@ -1002,10 +1002,10 @@ public class ReactionToXml extends XmlParser {
 		StringBuilder sb = new StringBuilder();
 		sb.append("<celldesigner:baseReactants>\n");
 		for (Reactant reactant : reactants) {
-			Element alias = reactant.getAlias();
+			Element alias = reactant.getElement();
 			sb.append("<celldesigner:baseReactant ");
-			sb.append("species=\"" + elements.getElementId(reactant.getAlias()) + "\" ");
-			sb.append("alias=\"" + reactant.getAlias().getElementId() + "\" ");
+			sb.append("species=\"" + elements.getElementId(reactant.getElement()) + "\" ");
+			sb.append("alias=\"" + reactant.getElement().getElementId() + "\" ");
 			sb.append(">\n");
 			sb.append(getAnchorXml(alias, reactant.getLine().getBeginPoint()));
 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java
index 131b7beea9..f30064dec9 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java
@@ -429,7 +429,7 @@ public class SpeciesCollectionXmlParser extends XmlParser {
 		for (Element species : collection) {
 			if (species instanceof Complex) {
 				Complex cs = (Complex) species;
-				for (Element element : cs.getAliases()) {
+				for (Element element : cs.getElements()) {
 					Species child = (Species) element;
 					sb.append(
 							"<celldesigner:species id=\"" + elements.getElementId(child) + "\" name=\"" + StringEscapeUtils.escapeXml(helpParser.encodeName(child.getName()))
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
index 7c2638d7d4..b01fa2e4f9 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
@@ -577,7 +577,7 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
 			CellDesignerXmlParser parser = new CellDesignerXmlParser();
 			FileInputStream fis = new FileInputStream("testFiles/homodimer.xml");
 			Model model = parser.createModel(new ConverterParams().inputStream(fis));
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				if (element instanceof Species) {
 					assertTrue("Homodimer value for class" + element.getClass() + " not upadted", ((Species) element).getHomodimer() > 1);
 				}
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
index dc31440d59..e4eb9356de 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
@@ -54,7 +54,7 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
 		try {
 			model = getModelForFile("testFiles/reactions/centeredAnchorInModifier.xml");
 
-			assertEquals(0, model.getCompartmentsAliases().size());
+			assertEquals(0, model.getCompartments().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -126,7 +126,7 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
 			model = getModelForFile("testFiles/problematic/acetyled_protein.xml");
 
 			Set<ModificationState> residues = new HashSet<ModificationState>();
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				if (element instanceof Species) {
 					Protein p = (Protein) element;
 					for (ModificationResidue mr : p.getModificationResidues()) {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java
index c653991cf3..512cb8fe4f 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java
@@ -425,7 +425,7 @@ public class LayerXmlParserTest extends CellDesignerTestFunctions {
 			ElementGroup group = parser.getAliasGroup(node, model);
 			assertNotNull(group);
 
-			assertEquals(4, group.getAliases().size());
+			assertEquals(4, group.getElements().size());
 
 			assertEquals("g74", group.getIdGroup());
 		} catch (Exception e) {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java
index 78dbdab8bb..f849c74923 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java
@@ -53,25 +53,25 @@ public class NestedComplexParsingTests extends CellDesignerTestFunctions {
 			Complex cs4 = (Complex) s4;
 			Complex cs5 = (Complex) s5;
 			Complex cs6 = (Complex) s6;
-			assertEquals(2,cs1.getAliases().size());
-			assertEquals(2,cs2.getAliases().size());
-			assertEquals(0,cs3.getAliases().size());
-			assertEquals(0,cs4.getAliases().size());
-			assertEquals(2,cs5.getAliases().size());
-			assertEquals(3,cs6.getAliases().size());
+			assertEquals(2,cs1.getElements().size());
+			assertEquals(2,cs2.getElements().size());
+			assertEquals(0,cs3.getElements().size());
+			assertEquals(0,cs4.getElements().size());
+			assertEquals(2,cs5.getElements().size());
+			assertEquals(3,cs6.getElements().size());
 			
-			assertTrue(cs1.getAliases().contains(s9));
-			assertTrue(cs1.getAliases().contains(s3));
+			assertTrue(cs1.getElements().contains(s9));
+			assertTrue(cs1.getElements().contains(s3));
 
-			assertTrue(cs2.getAliases().contains(s7));
-			assertTrue(cs2.getAliases().contains(s8));
+			assertTrue(cs2.getElements().contains(s7));
+			assertTrue(cs2.getElements().contains(s8));
 
-			assertTrue(cs5.getAliases().contains(s10));
-			assertTrue(cs5.getAliases().contains(s11));
+			assertTrue(cs5.getElements().contains(s10));
+			assertTrue(cs5.getElements().contains(s11));
 
-			assertTrue(cs6.getAliases().contains(s4));
-			assertTrue(cs6.getAliases().contains(s5));
-			assertTrue(cs6.getAliases().contains(s12));
+			assertTrue(cs6.getElements().contains(s4));
+			assertTrue(cs6.getElements().contains(s5));
+			assertTrue(cs6.getElements().contains(s12));
 			
 			assertEquals(1,cs1.getAllSimpleChildren().size());
 			assertEquals(2,cs2.getAllSimpleChildren().size());
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java
index 04cb68566b..48582239cb 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java
@@ -189,7 +189,7 @@ public class CompartmentAliasXmlParserTest extends CellDesignerTestFunctions {
 	@Test
 	public void testLeftToXml() throws Exception {
 		try {
-			Compartment alias = new LeftSquareCompartment();
+			Compartment alias = new LeftSquareCompartment("id");
 			String xml = parser.toXml(alias);
 			assertNotNull(xml);
 		} catch (Exception e) {
@@ -202,7 +202,7 @@ public class CompartmentAliasXmlParserTest extends CellDesignerTestFunctions {
 	@Test
 	public void testRightToXml() throws Exception {
 		try {
-			Compartment alias = new RightSquareCompartment();
+			Compartment alias = new RightSquareCompartment("id");
 			String xml = parser.toXml(alias);
 			assertNotNull(xml);
 		} catch (Exception e) {
@@ -215,7 +215,7 @@ public class CompartmentAliasXmlParserTest extends CellDesignerTestFunctions {
 	@Test
 	public void testTopToXml() throws Exception {
 		try {
-			Compartment alias = new TopSquareCompartment();
+			Compartment alias = new TopSquareCompartment("id");
 			String xml = parser.toXml(alias);
 			assertNotNull(xml);
 		} catch (Exception e) {
@@ -228,7 +228,7 @@ public class CompartmentAliasXmlParserTest extends CellDesignerTestFunctions {
 	@Test
 	public void testBotttomToXml() throws Exception {
 		try {
-			Compartment alias = new BottomSquareCompartment();
+			Compartment alias = new BottomSquareCompartment("id");
 			String xml = parser.toXml(alias);
 			assertNotNull(xml);
 		} catch (Exception e) {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java
index d60228eb0a..95aa619a19 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java
@@ -121,8 +121,8 @@ public class SpeciesAliasXmlParserTest extends CellDesignerTestFunctions {
 			assertEquals(alias.getX(), alias2.getX(), 1e-6);
 			assertEquals(alias.getY(), alias2.getY(), 1e-6);
 			assertEquals(alias.getParent().getElementId(), alias2.getParent().getElementId());
-			assertEquals("Alias state label different", alias.getAliasStateLabel(), alias2.getAliasStateLabel());
-			assertEquals("Alias state prefix different", alias.getAliasStatePrefix(), alias2.getAliasStatePrefix());
+			assertEquals("Alias state label different", alias.getStateLabel(), alias2.getStateLabel());
+			assertEquals("Alias state prefix different", alias.getStatePrefix(), alias2.getStatePrefix());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -142,8 +142,8 @@ public class SpeciesAliasXmlParserTest extends CellDesignerTestFunctions {
 			Species alias2 = parser.parseXmlAlias(xmlString2);
 			assertEquals(0, getWarnings().size());
 
-			assertEquals("Alias state label different", alias.getAliasStateLabel(), alias2.getAliasStateLabel());
-			assertEquals("Alias state prefix different", alias.getAliasStatePrefix(), alias2.getAliasStatePrefix());
+			assertEquals("Alias state label different", alias.getStateLabel(), alias2.getStateLabel());
+			assertEquals("Alias state prefix different", alias.getStatePrefix(), alias2.getStatePrefix());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -157,8 +157,8 @@ public class SpeciesAliasXmlParserTest extends CellDesignerTestFunctions {
 			Species alias = parser.parseXmlAlias(xmlString);
 			assertEquals(0, getWarnings().size());
 			assertNotNull(alias);
-			assertEquals("test", alias.getAliasStateLabel());
-			assertEquals("free input", alias.getAliasStatePrefix());
+			assertEquals("test", alias.getStateLabel());
+			assertEquals("free input", alias.getStatePrefix());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -172,8 +172,8 @@ public class SpeciesAliasXmlParserTest extends CellDesignerTestFunctions {
 			Species alias = parser.parseXmlAlias(xmlString);
 			assertEquals(0, getWarnings().size());
 			assertNotNull(alias);
-			assertNull(alias.getAliasStateLabel());
-			assertNull(alias.getAliasStatePrefix());
+			assertNull(alias.getStateLabel());
+			assertNull(alias.getStatePrefix());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -296,7 +296,7 @@ public class SpeciesAliasXmlParserTest extends CellDesignerTestFunctions {
 			list.add(ca2);
 
 			// ensure that we return list (firts bigger compartment, then smaller)
-			when(model.getCompartmentsAliases()).thenReturn(list);
+			when(model.getCompartments()).thenReturn(list);
 			when(model.getModelData()).thenReturn(md);
 
 			Species alias = new Complex(testAliasId);
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java
index 473a5ba731..fb7c3da3fe 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java
@@ -207,7 +207,7 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions {
 		try {
 			Model model = getModelForFile("testFiles/copyingAnnotationModel.xml");
 
-			Set<Element> elements = model.getAliases();
+			Set<Element> elements = model.getElements();
 			for (Element element : elements) {
 				if (element.getName().equals("blabla")) {
 					assertEquals(2, element.getMiriamData().size());
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java
index 7d341cd183..87cac89e30 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java
@@ -28,7 +28,7 @@ public class CompartmentParserTests extends CellDesignerTestFunctions {
 		try {
 			model = getModelForFile("testFiles/compartment/bottom_compartment.xml");
 
-			assertEquals(1, model.getAliases().size());
+			assertEquals(1, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -42,7 +42,7 @@ public class CompartmentParserTests extends CellDesignerTestFunctions {
 		try {
 			model = getModelForFile("testFiles/compartment/top_compartment.xml");
 
-			assertEquals(1, model.getAliases().size());
+			assertEquals(1, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -56,7 +56,7 @@ public class CompartmentParserTests extends CellDesignerTestFunctions {
 		try {
 			model = getModelForFile("testFiles/compartment/right_compartment.xml");
 
-			assertEquals(1, model.getAliases().size());
+			assertEquals(1, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -70,7 +70,7 @@ public class CompartmentParserTests extends CellDesignerTestFunctions {
 		try {
 			model = getModelForFile("testFiles/compartment/left_compartment.xml");
 
-			assertEquals(1, model.getAliases().size());
+			assertEquals(1, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java
index 82e37d7d14..b9b22b09e3 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java
@@ -739,8 +739,8 @@ public class ReactionParserTests extends CellDesignerTestFunctions {
 					reaction2 = reaction;
 			}
 			Reactant reactant = reaction1.getReactants().get(0);
-			Element alias1 = reaction1.getReactants().get(0).getAlias();
-			Element alias2 = reaction1.getProducts().get(0).getAlias();
+			Element alias1 = reaction1.getReactants().get(0).getElement();
+			Element alias2 = reaction1.getProducts().get(0).getElement();
 			Product product = reaction1.getProducts().get(0);
 			Point2D point = new Point2D.Double(alias1.getX() + alias1.getWidth() / 2, alias1.getY() + alias1.getHeight());
 			Point2D point2 = new Point2D.Double(alias2.getX(), alias2.getY() + alias2.getHeight() / 2);
@@ -748,8 +748,8 @@ public class ReactionParserTests extends CellDesignerTestFunctions {
 			assertTrue(point2.distance(product.getLine().getEndPoint()) < 1);
 
 			reactant = reaction2.getReactants().get(0);
-			alias1 = reaction2.getReactants().get(0).getAlias();
-			alias2 = reaction2.getProducts().get(0).getAlias();
+			alias1 = reaction2.getReactants().get(0).getElement();
+			alias2 = reaction2.getProducts().get(0).getElement();
 			product = reaction2.getProducts().get(0);
 			point = new Point2D.Double(alias1.getX() + alias1.getWidth(), alias1.getY() + alias1.getHeight() / 2);
 			point2 = new Point2D.Double(alias2.getX(), alias2.getY() + alias2.getHeight() / 2);
@@ -830,7 +830,7 @@ public class ReactionParserTests extends CellDesignerTestFunctions {
 			Reaction reaction = model.getReactions().iterator().next();
 			Reactant r = null;
 			for (Reactant reactant : reaction.getReactants()) {
-				if (reactant.getAlias().getName().equals("s3")) {
+				if (reactant.getElement().getName().equals("s3")) {
 					r = reactant;
 				}
 			}
@@ -855,10 +855,10 @@ public class ReactionParserTests extends CellDesignerTestFunctions {
 			Modifier sa3 = null;
 			Modifier sa4 = null;
 			for (Modifier modifier : modifiers) {
-				if (modifier.getAlias().getElementId().equals("sa3")) {
+				if (modifier.getElement().getElementId().equals("sa3")) {
 					sa3 = modifier;
 				}
-				if (modifier.getAlias().getElementId().equals("sa4")) {
+				if (modifier.getElement().getElementId().equals("sa4")) {
 					sa4 = modifier;
 				}
 			}
@@ -1785,7 +1785,7 @@ public class ReactionParserTests extends CellDesignerTestFunctions {
 	public void testProteinsInsideComplex() throws Exception {
 		try {
 			Model model = getModelForFile("testFiles/problematic/proteins_inside_complex.xml");
-			for (Element el : model.getAliases()) {
+			for (Element el : model.getElements()) {
 				assertFalse(el.getClass().equals(Protein.class));
 			}
 		} catch (Exception e) {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java
index 6599085012..db03abd568 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java
@@ -118,10 +118,10 @@ public class ReactionToXmlTest {
 		model.addElement(alias);
 
 		Complex complex = new Complex("4");
-		complex.addAlias(alias);
+		complex.addSpecies(alias);
 
 		alias.setParent(complex);
-		alias.setComplexAlias(complex);
+		alias.setComplex(complex);
 
 		model.addElement(complex);
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java
index 80dc4c55f2..25cc5a87f9 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java
@@ -193,7 +193,7 @@ public class ComplexParserTest extends CellDesignerTestFunctions {
 
 			Complex alias = new Complex(testAliasId);
 
-			alias.setCompartmentAlias(ca);
+			alias.setCompartment(ca);
 
 			model.addElement(alias);
 			ComplexAliasXmlParser parser = new ComplexAliasXmlParser(elements, model);
@@ -233,7 +233,7 @@ public class ComplexParserTest extends CellDesignerTestFunctions {
 			list.add(ca2);
 
 			// ensure that we return list (firts bigger compartment, then smaller)
-			when(model.getCompartmentsAliases()).thenReturn(list);
+			when(model.getCompartments()).thenReturn(list);
 			when(model.getModelData()).thenReturn(md);
 
 			Complex alias = new Complex(testAliasId);
@@ -340,8 +340,8 @@ public class ComplexParserTest extends CellDesignerTestFunctions {
 			Complex child = parser.parseXmlAlias(readFile("testFiles/xmlNodeTestExamples/cd_complex_alias_with_empty_state.xml"));
 
 			assertNotNull(child);
-			assertNull(child.getAliasStateLabel());
-			assertNull(child.getAliasStatePrefix());
+			assertNull(child.getStateLabel());
+			assertNull(child.getStatePrefix());
 
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java
index 58f19ce531..f466407397 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java
@@ -159,7 +159,7 @@ public class SbgnmlXmlExporter {
 		List<Species> aliases = model.getSpeciesList();
 
 		for (Species a : aliases) {
-			if (a.getComplexAlias() == null) {
+			if (a.getComplex() == null) {
 				Glyph newGlyph = aliasToGlyph(a);
 				map.getGlyph().add(newGlyph);
 			}
@@ -234,7 +234,7 @@ public class SbgnmlXmlExporter {
 
 		if (alias instanceof Complex) {
 			Complex complexAlias = (Complex) alias;
-			for (Species a : complexAlias.getAliases()) {
+			for (Species a : complexAlias.getElements()) {
 				Glyph childGlyph = aliasToGlyph(a);
 				newGlyph.getGlyph().add(childGlyph);
 			}
@@ -505,14 +505,14 @@ public class SbgnmlXmlExporter {
 
 		if (alias instanceof Species) {
 			Species speciesAlias = (Species) alias;
-			if ((speciesAlias.getAliasStateLabel() != null) && (speciesAlias.getAliasStatePrefix() != null)) {
+			if ((speciesAlias.getStateLabel() != null) && (speciesAlias.getStatePrefix() != null)) {
 				if (!uoiText.equals("")) {
 					uoiText = uoiText.concat("; ");
 				}
-				if (!speciesAlias.getAliasStatePrefix().equals("free input")) {
-					uoiText = uoiText.concat(speciesAlias.getAliasStatePrefix()).concat(":");
+				if (!speciesAlias.getStatePrefix().equals("free input")) {
+					uoiText = uoiText.concat(speciesAlias.getStatePrefix()).concat(":");
 				}
-				uoiText = uoiText.concat(speciesAlias.getAliasStateLabel());
+				uoiText = uoiText.concat(speciesAlias.getStateLabel());
 			}
 		}
 
@@ -716,12 +716,12 @@ public class SbgnmlXmlExporter {
 			throw new InvalidArgumentException();
 		}
 
-		if (reaction.getProducts().get(0).getAlias() instanceof Phenotype) {
+		if (reaction.getProducts().get(0).getElement() instanceof Phenotype) {
 			logger.warn("Found Phenotype being a reactant in process. That is discouraged");
 		}
 
-		arc.setSource(sourceTargetMap.get(reaction.getReactants().get(0).getAlias().getElementId()));
-		arc.setTarget(sourceTargetMap.get(reaction.getProducts().get(0).getAlias().getElementId()));
+		arc.setSource(sourceTargetMap.get(reaction.getReactants().get(0).getElement().getElementId()));
+		arc.setTarget(sourceTargetMap.get(reaction.getProducts().get(0).getElement().getElementId()));
 
 		List<Point2D> pointList = reaction.getReactants().get(0).getLine().getPoints();
 		pointList.addAll(reaction.getProducts().get(0).getLine().getPoints());
@@ -870,13 +870,13 @@ public class SbgnmlXmlExporter {
 		}
 
 		if (node instanceof Reactant) {
-			arc.setSource(sourceTargetMap.get(((Reactant) node).getAlias().getElementId()));
+			arc.setSource(sourceTargetMap.get(((Reactant) node).getElement().getElementId()));
 			arc.setTarget(sourceTargetMap.get(node.getReaction().getIdReaction().concat(".1")));
 		} else if (node instanceof Product) {
 			arc.setSource(sourceTargetMap.get(node.getReaction().getIdReaction().concat(".2")));
-			arc.setTarget(sourceTargetMap.get(((Product) node).getAlias().getElementId()));
+			arc.setTarget(sourceTargetMap.get(((Product) node).getElement().getElementId()));
 		} else if (node instanceof Modifier) {
-			arc.setSource(sourceTargetMap.get(((Modifier) node).getAlias().getElementId()));
+			arc.setSource(sourceTargetMap.get(((Modifier) node).getElement().getElementId()));
 			if (!node.getLine().getEndAtd().getArrowType().equals(ArrowType.NONE)) {
 				arc.setTarget(sourceTargetMap.get(node.getReaction().getIdReaction()));
 			} else {
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
index 0383f44f69..2f373637c0 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
@@ -543,7 +543,7 @@ public class SbgnmlXmlParser {
 		Reactant reactant = new Reactant();
 		reactant.setReaction(reaction);
 		Glyph source = (Glyph) a.getSource();
-		reactant.setAlias(model.getElementByElementId(source.getId()));
+		reactant.setElement(model.getElementByElementId(source.getId()));
 		List<Point2D> reactantPointList = new ArrayList<>();
 		reactantPointList.add(new Point2D.Double(a.getStart().getX(), a.getStart().getY()));
 		reactantPointList.add(new Point2D.Double(a.getStart().getX(), a.getStart().getY()));
@@ -558,7 +558,7 @@ public class SbgnmlXmlParser {
 		Product product = new Product();
 		product.setReaction(reaction);
 		Glyph target = (Glyph) a.getTarget();
-		product.setAlias(model.getElementByElementId(target.getId()));
+		product.setElement(model.getElementByElementId(target.getId()));
 		List<Point2D> productPointList = getLinePoints(a);
 		PolylineData productLine = parseLine(a, productPointList);
 		product.setLine(productLine);
@@ -589,8 +589,8 @@ public class SbgnmlXmlParser {
 			newSpecies.setName(g.getId());
 		}
 		// Add species to parent complex if there is one
-		if (newSpecies.getComplexAlias() != null) {
-			newSpecies.getComplexAlias().addAlias(newSpecies);
+		if (newSpecies.getComplex() != null) {
+			newSpecies.getComplex().addSpecies(newSpecies);
 		}
 		// If the species is a multimer, set it's cardinality.
 		if (!isHomodimer) {
@@ -647,17 +647,17 @@ public class SbgnmlXmlParser {
 			Glyph compartmentGlyph = (Glyph) g.getCompartmentRef();
 			Compartment compartmentAlias = model.getElementByElementId(compartmentGlyph.getId());
 			newAlias.setParent(compartmentAlias);
-			newAlias.setCompartmentAlias(compartmentAlias);
+			newAlias.setCompartment(compartmentAlias);
 			compartmentAlias.addElement(newAlias);
-		} else if (newAlias.getComplexAlias() == null) {
+		} else if (newAlias.getComplex() == null) {
 			// If the alias is in any compartment, assign it to that compartment
-			for (Compartment compartmentAlias : model.getCompartmentsAliases()) {
+			for (Compartment compartmentAlias : model.getCompartments()) {
 				boolean dx1 = compartmentAlias.getX() + compartmentAlias.getWidth() - newAlias.getX() >= 0;
 				boolean dx2 = compartmentAlias.getX() - (newAlias.getX() + newAlias.getWidth()) <= 0;
 				boolean dy1 = compartmentAlias.getY() + compartmentAlias.getHeight() - newAlias.getY() >= 0;
 				boolean dy2 = compartmentAlias.getY() - (newAlias.getY() + newAlias.getHeight()) <= 0;
 				if (dx1 && dx2 && dy1 && dy2) {
-					newAlias.setCompartmentAlias(compartmentAlias);
+					newAlias.setCompartment(compartmentAlias);
 					newAlias.setParent(compartmentAlias);
 					compartmentAlias.addElement(newAlias);
 				}
@@ -809,11 +809,11 @@ public class SbgnmlXmlParser {
 		if (unitOfInformationText.contains(":") && !unitOfInformationText.startsWith("N:")) {
 			String unitOfInformationPrefix = unitOfInformationText.substring(0, unitOfInformationText.indexOf(':'));
 			String unitOfInformationSuffix = unitOfInformationText.substring(unitOfInformationText.indexOf(':') + 1);
-			alias.setAliasStatePrefix(unitOfInformationPrefix);
-			alias.setAliasStateLabel(unitOfInformationSuffix);
+			alias.setStatePrefix(unitOfInformationPrefix);
+			alias.setStateLabel(unitOfInformationSuffix);
 		} else if (!unitOfInformationText.startsWith("N:")) {
-			alias.setAliasStateLabel(unitOfInformationText);
-			alias.setAliasStatePrefix("free input");
+			alias.setStateLabel(unitOfInformationText);
+			alias.setStatePrefix("free input");
 		}
 	}
 
@@ -832,7 +832,7 @@ public class SbgnmlXmlParser {
 	private void parseComplex(Glyph complexGlyph, Complex parentComplexSpecies, boolean isHomodimer, Model model) {
 		Complex complexSpecies = new Complex(complexGlyph.getId());
 		if (parentComplexSpecies != null) {
-			complexSpecies.setComplexAlias(parentComplexSpecies);
+			complexSpecies.setComplex(parentComplexSpecies);
 		}
 		parseSpecies(complexGlyph, complexSpecies, isHomodimer, model);
 
@@ -842,37 +842,37 @@ public class SbgnmlXmlParser {
 			switch (GlyphClazz.fromClazz(child.getClazz())) {
 				case UNSPECIFIED_ENTITY:
 					newSpecies = new Unknown(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, true, model);
 					break;
 				case SIMPLE_CHEMICAL:
 					newSpecies = new SimpleMolecule(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, true, model);
 					break;
 				case MACROMOLECULE:
 					newSpecies = new GenericProtein(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, true, model);
 					break;
 				case NUCLEIC_ACID_FEATURE:
 					newSpecies = new Gene(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, true, model);
 					break;
 				case SIMPLE_CHEMICAL_MULTIMER:
 					newSpecies = new SimpleMolecule(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, false, model);
 					break;
 				case MACROMOLECULE_MULTIMER:
 					newSpecies = new GenericProtein(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, false, model);
 					break;
 				case NUCLEIC_ACID_FEATURE_MULTIMER:
 					newSpecies = new Gene(child.getId());
-					newSpecies.setComplexAlias(complexSpecies);
+					newSpecies.setComplex(complexSpecies);
 					parseSpecies(child, newSpecies, false, model);
 					break;
 				case COMPLEX:
@@ -887,7 +887,7 @@ public class SbgnmlXmlParser {
 			Element newAlias = model.getElementByElementId(child.getId());
 			if (newAlias != null) {
 				newAlias.setParent(complexAlias);
-				complexAlias.addAlias((Species) newAlias);
+				complexAlias.addSpecies((Species) newAlias);
 			}
 		}
 	}
@@ -1199,7 +1199,7 @@ public class SbgnmlXmlParser {
 			Reactant reactant = new Reactant();
 			reactant.setReaction(reaction);
 			Glyph source = (Glyph) a.getSource();
-			reactant.setAlias(model.getElementByElementId(source.getId()));
+			reactant.setElement(model.getElementByElementId(source.getId()));
 			List<Point2D> pointList = getLinePoints(a);
 			if (p.getReagentArcs().size() == 1) {
 				pointList.add(getCenterPointFromProcess(p));
@@ -1220,7 +1220,7 @@ public class SbgnmlXmlParser {
 				Product product = new Product();
 				product.setReaction(reaction);
 				Glyph target = (Glyph) a.getTarget();
-				product.setAlias(model.getElementByElementId(target.getId()));
+				product.setElement(model.getElementByElementId(target.getId()));
 				List<Point2D> pointList = getLinePoints(a);
 				if (p.getRevProductArcs().size() >= 1) {
 					pointList.add(0, getCenterPointFromProcess(p));
@@ -1238,7 +1238,7 @@ public class SbgnmlXmlParser {
 				Reactant reactant = new Reactant();
 				reactant.setReaction(reaction);
 				Glyph source = (Glyph) a.getTarget();
-				reactant.setAlias(model.getElementByElementId(source.getId()));
+				reactant.setElement(model.getElementByElementId(source.getId()));
 				List<Point2D> pointList = getLinePoints(a);
 				if (p.getRevReagentArcs().size() <= 1) {
 					pointList.add(0, getCenterPointFromProcess(p));
@@ -1266,7 +1266,7 @@ public class SbgnmlXmlParser {
 			if (a.getSource() instanceof Glyph) {
 				Glyph sourceGlyph = (Glyph) a.getSource();
 				Species modifierAlias = (Species) model.getElementByElementId(sourceGlyph.getId());
-				modifier.setAlias(modifierAlias);
+				modifier.setElement(modifierAlias);
 				List<Point2D> pointList = getLinePoints(a);
 				pointList.remove(pointList.size() - 1);
 				pointList.add(getModifierEndPoint(a, reaction));
@@ -1460,7 +1460,7 @@ public class SbgnmlXmlParser {
 
 					Glyph sourceGlyph = (Glyph) logicArc.getSource();
 					Species modifierAlias = (Species) model.getElementByElementId(sourceGlyph.getId());
-					modifier.setAlias(modifierAlias);
+					modifier.setElement(modifierAlias);
 					List<Point2D> pointList = getLinePoints(logicArc);
 					pointList.add(operatorCenterPoint);
 					PolylineData newLine = parseLine(logicArc, pointList);
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
index 21cbca904f..d897681ce5 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
@@ -575,7 +575,7 @@ public abstract class AbstractImageGenerator {
 			drawReaction(reaction, params.getVisibleLayoutsForElement(reaction));
 		}
 		// draw all compartments
-		for (Compartment ca : params.getModel().getSortedCompartmentsAliases()) {
+		for (Compartment ca : params.getModel().getSortedCompartments()) {
 			// draw only aliases that don't have parents (aren't included in any
 			// compartment/complexes)
 			if (ca.getParent() == null) {
@@ -723,9 +723,9 @@ public abstract class AbstractImageGenerator {
 
 		boolean rescale = false;
 		if (alias instanceof Complex) {
-			if (((Complex) alias).getAliases().size() == 0) {
+			if (((Complex) alias).getElements().size() == 0) {
 				rescale = true;
-			} else if (((Complex) alias).getAliases().get(0).getVisibilityLevel() > level) {
+			} else if (((Complex) alias).getElements().get(0).getVisibilityLevel() > level) {
 				rescale = true;
 			}
 		}
@@ -751,7 +751,7 @@ public abstract class AbstractImageGenerator {
 			if (!complex.getState().equalsIgnoreCase("brief")) {
 				// depending on current zoom level, children are drawn or not
 				if (complex.getTransparencyLevel() <= level) {
-					for (Species a : complex.getAliases()) {
+					for (Species a : complex.getElements()) {
 						drawAlias(a, visibleLayouts);
 					}
 				}
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java
index 06b52123ff..36d9e96928 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java
@@ -346,7 +346,7 @@ public class PlaceFinder {
 		List<Compartment> list = otherAliases.get(alias);
 		if (list == null) {
 			list = new ArrayList<Compartment>();
-			for (Compartment compAlias : model.getCompartmentsAliases()) {
+			for (Compartment compAlias : model.getCompartments()) {
 				if (compAlias.getVisibilityLevel() <= alias.getVisibilityLevel() && compAlias.getTransparencyLevel() > alias.getVisibilityLevel()) {
 					if (compAlias.cross(alias) && compAlias.getSize() <= alias.getSize()) {
 						list.add(compAlias);
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ComplexConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ComplexConverter.java
index c9ac29e527..ac517c50d6 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ComplexConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ComplexConverter.java
@@ -105,8 +105,8 @@ public class ComplexConverter extends SpeciesConverter<Complex> {
 		// cardinality
 		if (params.isSbgnFormat()) {
 			String unitOfInformationText = null;
-			if (alias.getAliasStatePrefix() != null && alias.getAliasStateLabel() != null) {
-				unitOfInformationText = alias.getAliasStatePrefix() + ":" + alias.getAliasStateLabel();
+			if (alias.getStatePrefix() != null && alias.getStateLabel() != null) {
+				unitOfInformationText = alias.getStatePrefix() + ":" + alias.getStateLabel();
 			}
 			if (homodir == 2 && (unitOfInformationText == null || !unitOfInformationText.contains("N:"))) {
 				if (unitOfInformationText != null) {
@@ -129,7 +129,7 @@ public class ComplexConverter extends SpeciesConverter<Complex> {
 
 	@Override
 	public void drawText(final Complex alias, final Graphics2D graphics, final ConverterParams params) {
-		if (((Complex) alias).getAliases().size() > 0) {
+		if (((Complex) alias).getElements().size() > 0) {
 			if (alias.getTransparencyLevel() <= params.getLevel()) {
 				super.drawText(alias, graphics, params);
 				return;
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ProteinConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ProteinConverter.java
index b3e3343d98..60d8260795 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ProteinConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/ProteinConverter.java
@@ -79,11 +79,11 @@ public class ProteinConverter extends SpeciesConverter<Protein> {
 		// Unit of information text (multimer cardinality and/or ion channel's
 		// state)
 		String unitOfInformationText = "";
-		if (alias.getAliasStatePrefix() != null && alias.getAliasStateLabel() != null) {
-			if (alias.getAliasStatePrefix().equals("free input")) {
-				unitOfInformationText = alias.getAliasStateLabel();
+		if (alias.getStatePrefix() != null && alias.getStateLabel() != null) {
+			if (alias.getStatePrefix().equals("free input")) {
+				unitOfInformationText = alias.getStateLabel();
 			} else {
-				unitOfInformationText = alias.getAliasStatePrefix() + ":" + alias.getAliasStateLabel();
+				unitOfInformationText = alias.getStatePrefix() + ":" + alias.getStateLabel();
 			}
 		}
 
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SBGNNucleicAcidFeatureConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SBGNNucleicAcidFeatureConverter.java
index 599c7023d1..00048fa556 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SBGNNucleicAcidFeatureConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SBGNNucleicAcidFeatureConverter.java
@@ -54,11 +54,11 @@ public class SBGNNucleicAcidFeatureConverter extends SpeciesConverter<Species> {
 	public void drawAlias(Species alias, Graphics2D graphics, ConverterParams params) {
 		// Unit of information text - multimer cardinality
 		String unitOfInformationText = null;
-		if (alias.getAliasStatePrefix() != null && alias.getAliasStateLabel() != null) {
-			if (alias.getAliasStatePrefix().equals("free input")) {
-				unitOfInformationText = alias.getAliasStateLabel();
+		if (alias.getStatePrefix() != null && alias.getStateLabel() != null) {
+			if (alias.getStatePrefix().equals("free input")) {
+				unitOfInformationText = alias.getStateLabel();
 			} else {
-				unitOfInformationText = alias.getAliasStatePrefix() + ":" + alias.getAliasStateLabel();
+				unitOfInformationText = alias.getStatePrefix() + ":" + alias.getStateLabel();
 			}
 		}
 
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SimpleMoleculeConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SimpleMoleculeConverter.java
index fd4c02aa19..4825edbcbf 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SimpleMoleculeConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SimpleMoleculeConverter.java
@@ -71,8 +71,8 @@ public class SimpleMoleculeConverter extends SpeciesConverter<SimpleMolecule> {
 			// containing cardinality
 			if (params.isSbgnFormat() && (i == homodir - 1)) {
 				String unitOfInformationText = null;
-				if (alias.getAliasStatePrefix() != null && alias.getAliasStateLabel() != null) {
-					unitOfInformationText = alias.getAliasStatePrefix() + ":" + alias.getAliasStateLabel();
+				if (alias.getStatePrefix() != null && alias.getStateLabel() != null) {
+					unitOfInformationText = alias.getStatePrefix() + ":" + alias.getStateLabel();
 				}
 				if (homodir == 2 && (unitOfInformationText == null || !unitOfInformationText.contains("N:"))) {
 					if (unitOfInformationText != null) {
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SpeciesConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SpeciesConverter.java
index 6413599429..66bb702701 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SpeciesConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/species/SpeciesConverter.java
@@ -289,7 +289,7 @@ public abstract class SpeciesConverter<T extends Species> implements IAliasConve
 
 		Point2D point = alias.getCenter();
 		if (alias instanceof Complex) {
-			if (((Complex) alias).getAliases().size() > 0) {
+			if (((Complex) alias).getElements().size() > 0) {
 				if (alias.getTransparencyLevel() <= params.getLevel()) {
 					point.setLocation(point.getX(), alias.getY() + alias.getHeight() - graphics.getFontMetrics().getAscent());
 				}
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
index 02e0979c11..cf5bba155b 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
@@ -24,10 +24,10 @@ public class ConverterTest {
 	@Test
 	public void test() {
 		try {
-			new AliasConverter(new BottomSquareCompartment());
-			new AliasConverter(new TopSquareCompartment());
-			new AliasConverter(new LeftSquareCompartment());
-			new AliasConverter(new RightSquareCompartment());
+			new AliasConverter(new BottomSquareCompartment("id1"));
+			new AliasConverter(new TopSquareCompartment("id2"));
+			new AliasConverter(new LeftSquareCompartment("id3"));
+			new AliasConverter(new RightSquareCompartment("id4"));
 		}catch (Exception e) {
 			e.printStackTrace();
 			fail("Unknown exception");
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java
index d2f9ef6899..3ba9e0c966 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java
@@ -207,9 +207,9 @@ public class NormalImageGeneratorTest {
 			layer.addLayerText(new LayerText(new Rectangle2D.Double(100, 100, 199, 220), "Z dgf fsd aaewq ret"));
 
 			new CreateHierarchyCommand(model, 1, 8).execute();
-			model.getCompartmentsAliases().get(1).setTransparencyLevel(2);
-			model.getCompartmentsAliases().get(0).setTransparencyLevel(2);
-			model.getCompartmentsAliases().get(3).setTransparencyLevel(2);
+			model.getCompartments().get(1).setTransparencyLevel(2);
+			model.getCompartments().get(0).setTransparencyLevel(2);
+			model.getCompartments().get(3).setTransparencyLevel(2);
 			new PngImageGenerator(new Params().level(2).scale(4).width(600).height(600).model(model).nested(true));
 
 		} catch (Exception e) {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java
index 86428c73d4..3d191ad894 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java
@@ -51,9 +51,9 @@ public class PdfImageGeneratorTest {
 			layer.addLayerText(new LayerText(new Rectangle2D.Double(100, 100, 199, 220), "Z dgf fsd aaewq ret"));
 
 			new CreateHierarchyCommand(model, 1, 8).execute();
-			model.getCompartmentsAliases().get(1).setTransparencyLevel(2);
-			model.getCompartmentsAliases().get(0).setTransparencyLevel(2);
-			model.getCompartmentsAliases().get(3).setTransparencyLevel(2);
+			model.getCompartments().get(1).setTransparencyLevel(2);
+			model.getCompartments().get(0).setTransparencyLevel(2);
+			model.getCompartments().get(3).setTransparencyLevel(2);
 
 			PdfImageGenerator pig = new PdfImageGenerator(new Params().level(2).scale(4).width(600).height(600).model(model).nested(true));
 
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java
index 15dd6e4f68..2ddcd62d38 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java
@@ -29,12 +29,12 @@ public class AllPlaceFinderTest {
 		Model model = new ModelFullIndexed(null);
 		model.addElement(createCompartmentAlias(94.0, 70.0, 355.0, 173.0));
 
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			PlaceFinder pf = new PlaceFinder(model);
 			actual = pf.getRetangle(alias).toString();
 		}
 		String expected = "";
-		Rectangle2D result = model.getCompartmentsAliases().get(0).getBorder();
+		Rectangle2D result = model.getCompartments().get(0).getBorder();
 		expected = result.toString();
 		assertEquals(expected, actual);
 	}
@@ -47,7 +47,7 @@ public class AllPlaceFinderTest {
 		model.addElement(createCompartmentAlias(332.0, 66.0, 188.0, 255.0));
 
 		String expected = "";
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			PlaceFinder pf = new PlaceFinder(model);
 			actual = pf.getRetangle(alias).toString();
 			Rectangle2D result = alias.getBorder();
@@ -77,7 +77,7 @@ public class AllPlaceFinderTest {
 		model.addElement(createCompartmentAlias(45.0, 38.0, 174.0, 169.0));
 		model.addElement(createCompartmentAlias(118.0, 85.0, 60.0, 68.0));
 		double actual = 0.0;
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			PlaceFinder pf = new PlaceFinder(model);
 			Rectangle2D rect = pf.getRetangle(alias);
 			actual = rect.getWidth() * rect.getHeight();
@@ -93,12 +93,12 @@ public class AllPlaceFinderTest {
 		model.addElement(createCompartmentAlias(88.0, 70.0, 138.0, 112.0));
 		double actual = 0.0;
 		Rectangle2D result = null;
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			PlaceFinder pf = new PlaceFinder(model);
 			Rectangle2D rect = pf.getRetangle(alias);
 			actual += rect.getWidth() * rect.getHeight();
 		}
-		result = model.getCompartmentsAliases().get(0).getBorder();
+		result = model.getCompartments().get(0).getBorder();
 		assertEquals(result.getWidth() * result.getHeight(), actual, 0.01);
 	}
 
@@ -136,7 +136,7 @@ public class AllPlaceFinderTest {
 		model.addElement(createCompartmentAlias(4521.0, 0.0, 10000.0, 6000.0));
 		model.addElement(createCompartmentAlias(4828.0, 0.0, 5172.0, 6000.0));
 		double actual = 0.0;
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			PlaceFinder pf = new PlaceFinder(model);
 			Rectangle2D rect = pf.getRetangle(alias);
 			actual = rect.getWidth() * rect.getHeight();
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java
index b330bbf2b8..95d5bd72fe 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java
@@ -31,7 +31,7 @@ import lcsb.mapviewer.converter.zip.ZipEntryFile;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.model.map.graph.DataMiningSet;
 import lcsb.mapviewer.model.map.layout.Layout;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelSubmodelConnection;
 import lcsb.mapviewer.model.map.model.SubmodelType;
@@ -211,8 +211,8 @@ public class ComplexZipConverter<T extends IConverter> {
 			topModel
 					.addCreationWarning("[SUBMODEL MAPPING] Reaction " + reaction.getIdReaction() + " in mapping file (" + mapping + ") contains modifiers. Skipped");
 		} else {
-			Element fromAlias = reaction.getReactants().get(0).getAlias();
-			Element toAlias = reaction.getProducts().get(0).getAlias();
+			Element fromAlias = reaction.getReactants().get(0).getElement();
+			Element toAlias = reaction.getProducts().get(0).getElement();
 			if (!(fromAlias instanceof Species)) {
 				topModel.addCreationWarning(
 						"[SUBMODEL MAPPING] Reaction " + reaction.getIdReaction() + " in mapping file (" + mapping + ") contains doesn't start in species. Skipped");
@@ -220,8 +220,8 @@ public class ComplexZipConverter<T extends IConverter> {
 				topModel.addCreationWarning(
 						"[SUBMODEL MAPPING] Reaction " + reaction.getIdReaction() + " in mapping file (" + mapping + ") contains doesn't end in species. Skipped");
 			} else {
-				Complex complexFrom = ((Species) fromAlias).getComplexAlias();
-				Complex complexTo = ((Species) toAlias).getComplexAlias();
+				Complex complexFrom = ((Species) fromAlias).getComplex();
+				Complex complexTo = ((Species) toAlias).getComplex();
 				if (complexFrom == null) {
 					topModel.addCreationWarning(
 							"[SUBMODEL MAPPING] Reaction " + reaction.getIdReaction() + " in mapping file (" + mapping + ") contains doesn't start inside complex. Skipped");
@@ -255,9 +255,9 @@ public class ComplexZipConverter<T extends IConverter> {
 					} else if (fromAlias instanceof Phenotype) {
 						type = SubmodelType.PATHWAY;
 					}
-					AliasSubmodelConnection connection = new AliasSubmodelConnection(toModel, type);
-					connection.setFromAlias(source);
-					connection.setToAlias(dest);
+					ElementSubmodelConnection connection = new ElementSubmodelConnection(toModel, type);
+					connection.setFromElement(source);
+					connection.setToElement(dest);
 					connection.setName(toModel.getName());
 					source.setSubmodel(connection);
 				}
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java
index cc87a72141..8060021ba7 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java
@@ -77,11 +77,11 @@ public class ComplexZipConverterTest {
 			Species sa5 = new GenericProtein("sa5");
 			sa5.setName("sa1");
 			result.addElement(sa5);
-			ca1.addAlias(sa5);
+			ca1.addSpecies(sa5);
 			Species sa6 = new Phenotype("sa6");
 			sa6.setName("sa4");
 			result.addElement(sa6);
-			ca1.addAlias(sa6);
+			ca1.addSpecies(sa6);
 
 			Complex ca2 = new Complex("ca2");
 			ca2.setName("s1");
@@ -89,7 +89,7 @@ public class ComplexZipConverterTest {
 			Species sa7 = new GenericProtein("sa7");
 			sa7.setName("sa1");
 			result.addElement(sa7);
-			ca2.addAlias(sa7);
+			ca2.addSpecies(sa7);
 
 			Complex ca3 = new Complex("cs3");
 			ca3.setName("s2");
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java
index 6df8bb3626..b17ca82654 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java
@@ -56,7 +56,7 @@ public class CanvasSelectMouseListener implements MouseListener {
 
 		List<Object> result = new ArrayList<Object>();
 
-		Set<Element> aliases = canvas.getModel().getAliases();
+		Set<Element> aliases = canvas.getModel().getElements();
 		for (Element alias : aliases) {
 			if (alias instanceof Species) {
 				if (alias.contains(point)) {
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java
index 06f4b6fbf9..988d9043da 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java
@@ -602,8 +602,8 @@ public class ElementDetailsPanel extends JPanel {
 
 		add(compartmentLabel, createLayoutConstraints(0, row));
 		add(compartmentText, createLayoutConstraints(1, row));
-		if (alias.getCompartmentAlias() instanceof Compartment) {
-			compartmentText.setText(alias.getCompartmentAlias().getElementId());
+		if (alias.getCompartment() instanceof Compartment) {
+			compartmentText.setText(alias.getCompartment().getElementId());
 		} else {
 			compartmentText.setText("N/A");
 		}
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java
index 527c666146..87d848c59c 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java
@@ -193,7 +193,7 @@ public class ColorModelCommand extends ModelCommand {
 
 			if (schema.getCompartments().size() > 0) {
 				boolean found = false;
-				for (Compartment cAlias : alias.getModelData().getModel().getCompartmentsAliases()) {
+				for (Compartment cAlias : alias.getModelData().getModel().getCompartments()) {
 					for (String compartmentName : schema.getCompartments()) {
 						if (cAlias.getName().equalsIgnoreCase(compartmentName)) {
 							if (cAlias.cross(alias)) {
@@ -226,7 +226,7 @@ public class ColorModelCommand extends ModelCommand {
 		List<ColorSchema> result = new ArrayList<ColorSchema>();
 		for (ColorSchema schema : schemas) {
 			boolean found = false;
-			for (Element alias : getModel().getAliases()) {
+			for (Element alias : getModel().getElements()) {
 				if (match(alias, schema)) {
 					found = true;
 				}
@@ -261,7 +261,7 @@ public class ColorModelCommand extends ModelCommand {
 		models.addAll(getModel().getSubmodels());
 		for (Model model2 : models) {
 			for (ColorSchema schema : schemas) {
-				for (Element alias : model2.getAliases()) {
+				for (Element alias : model2.getElements()) {
 					if (match(alias, schema)) {
 						if (result.get(alias) != null && !result.get(alias).getNormalizedColor().equals(Color.WHITE)) {
 							throw new InvalidColorSchemaException("Alias " + alias.getElementId() + " is colored by more than one rule.");
@@ -306,7 +306,7 @@ public class ColorModelCommand extends ModelCommand {
 	 */
 	private void colorModel(Model result, boolean top) throws InvalidColorSchemaException {
 
-		for (Element alias : result.getAliases()) {
+		for (Element alias : result.getElements()) {
 			alias.setColor(Color.WHITE);
 		}
 		for (Reaction reaction : result.getReactions()) {
@@ -316,7 +316,7 @@ public class ColorModelCommand extends ModelCommand {
 		}
 
 		for (ColorSchema schema : schemas) {
-			for (Element alias : result.getAliases()) {
+			for (Element alias : result.getElements()) {
 				if (match(alias, schema)) {
 					schema.setMatches(schema.getMatches() + 1);
 					applyColor(alias, schema);
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
index fbab64735f..1bad9ae54e 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
@@ -14,7 +14,7 @@ import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.graph.DataMiningSet;
 import lcsb.mapviewer.model.map.layout.Layout;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.model.ModelSubmodelConnection;
@@ -137,10 +137,10 @@ public class CopyCommand extends NewModelCommand {
 				}
 			}
 		}
-		for (Element alias : modelCopy.getAliases()) {
+		for (Element alias : modelCopy.getElements()) {
 			// if alias has connection to submodel
 			if (alias.getSubmodel() != null) {
-				AliasSubmodelConnection connection = alias.getSubmodel();
+				ElementSubmodelConnection connection = alias.getSubmodel();
 				// copy information about submodel
 				Model original = connection.getSubmodel().getModel();
 				Model copy = copies.get(original);
@@ -150,12 +150,12 @@ public class CopyCommand extends NewModelCommand {
 				connection.setSubmodel(copy);
 
 				// copy information about original alias
-				if (connection.getFromAlias() != null) {
-					connection.setFromAlias(modelCopy.getElementByElementId(connection.getFromAlias().getElementId()));
+				if (connection.getFromElement() != null) {
+					connection.setFromElement(modelCopy.getElementByElementId(connection.getFromElement().getElementId()));
 				}
 				// copy information about reference alias
-				if (connection.getToAlias() != null) {
-					connection.setToAlias(modelCopy.getElementByElementId(connection.getToAlias().getElementId()));
+				if (connection.getToElement() != null) {
+					connection.setToElement(modelCopy.getElementByElementId(connection.getToElement().getElementId()));
 				}
 			}
 		}
@@ -174,7 +174,7 @@ public class CopyCommand extends NewModelCommand {
 
 		result.setSbgnFormat(model.isSbgnFormat());
 
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Compartment) {
 				Compartment copy = ((Compartment) alias).copy();
 				copy.getElements().clear();
@@ -183,12 +183,12 @@ public class CopyCommand extends NewModelCommand {
 
 		}
 
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Species) {
 				Species copy = ((Species) alias).copy();
-				Compartment ca = copy.getCompartmentAlias();
+				Compartment ca = copy.getCompartment();
 				Element parent = copy.getParent();
-				copy.setCompartmentAlias(null);
+				copy.setCompartment(null);
 				copy.setParent(null);
 
 				// the trick is that in addAlias also some connections are added, so
@@ -198,7 +198,7 @@ public class CopyCommand extends NewModelCommand {
 
 				if (ca != null) {
 					ca = result.getElementByElementId(ca.getElementId());
-					copy.setCompartmentAlias(ca);
+					copy.setCompartment(ca);
 				}
 				if (parent instanceof Compartment) {
 					ca = (Compartment) parent;
@@ -227,7 +227,7 @@ public class CopyCommand extends NewModelCommand {
 		}
 		result.setProject(model.getProject());
 
-		for (Element alias : result.getAliases()) {
+		for (Element alias : result.getElements()) {
 			updateAliasReferences(alias, result, model);
 		}
 		for (Reaction reaction : result.getReactions()) {
@@ -348,7 +348,7 @@ public class CopyCommand extends NewModelCommand {
 	private void updateReactionReferences(Reaction reaction, Model model) {
 		reaction.setModel(model);
 		for (ReactionNode rNode : reaction.getReactionNodes()) {
-			rNode.setAlias(model.getElementByElementId(rNode.getAlias().getElementId()));
+			rNode.setElement(model.getElementByElementId(rNode.getElement().getElementId()));
 		}
 
 	}
@@ -375,17 +375,17 @@ public class CopyCommand extends NewModelCommand {
 
 		if (alias instanceof Complex) {
 			Complex ca = (Complex) alias;
-			for (int i = 0; i < ca.getAliases().size(); i++) {
-				Species newAlias = (Species) model.getElementByElementId(ca.getAliases().get(i).getElementId());
-				ca.getAliases().set(i, newAlias);
+			for (int i = 0; i < ca.getElements().size(); i++) {
+				Species newAlias = (Species) model.getElementByElementId(ca.getElements().get(i).getElementId());
+				ca.getElements().set(i, newAlias);
 			}
 		}
 		if (alias instanceof Species) {
 			Species originalAlias = (Species) originalModel.getElementByElementId(alias.getElementId());
 			Species sa = (Species) alias;
 
-			if (sa.getComplexAlias() != null) {
-				sa.setComplexAlias((Complex) model.getElementByElementId(sa.getComplexAlias().getElementId()));
+			if (sa.getComplex() != null) {
+				sa.setComplex((Complex) model.getElementByElementId(sa.getComplex().getElementId()));
 			}
 
 			if (originalAlias.getParent() != null) {
@@ -401,8 +401,8 @@ public class CopyCommand extends NewModelCommand {
 
 		alias.setModel(model);
 
-		if (alias.getCompartmentAlias() != null) {
-			alias.setCompartmentAlias(model.getElementByElementId(alias.getCompartmentAlias().getElementId()));
+		if (alias.getCompartment() != null) {
+			alias.setCompartment(model.getElementByElementId(alias.getCompartment().getElementId()));
 		}
 	}
 }
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java
index 14ec54cc19..df7d815578 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java
@@ -86,25 +86,25 @@ public class CreateHierarchyCommand extends ModelCommand {
 		}
 		Model model = getModel();
 		List<Species> compacts = new ArrayList<>();
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Complex) {
 				if (((Complex) alias).getState().contains("brief")) {
 					compacts.add((Species) alias);
-					compacts.addAll(((Complex) alias).getAliases());
+					compacts.addAll(((Complex) alias).getElements());
 				}
 			}
 		}
-		model.getAliases().removeAll(compacts);
+		model.getElements().removeAll(compacts);
 		clean();
 		createArtificials();
 		assignAliases();
 		orderConcludingComplex();
 		orderConcludingCompartments();
 
-		List<Element> sortedAliases = model.getAliasesSortedBySize();
+		List<Element> sortedAliases = model.getElementsSortedBySize();
 		setParentingAndChildreningOfNonComplexChildrens(sortedAliases);
-		model.getAliases().addAll(compacts);
-		sortedAliases = model.getAliasesSortedBySize();
+		model.getElements().addAll(compacts);
+		sortedAliases = model.getElementsSortedBySize();
 		preSettingOfVisibilityLevel(sortedAliases, maxZoomFactor);
 		settingOfTransparencyLevel(sortedAliases);
 
@@ -120,14 +120,14 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Cleans hierarchical information from the model.
 	 */
 	protected void clean() {
-		for (Element alias : getModel().getAliases()) {
+		for (Element alias : getModel().getElements()) {
 			alias.setParent(null);
 			if (alias instanceof Complex) {
-				((Complex) alias).getAliases().clear();
+				((Complex) alias).getElements().clear();
 			}
 		}
 		Set<PathwayCompartment> toRemove = new HashSet<>();
-		for (Compartment alias : getModel().getCompartmentsAliases()) {
+		for (Compartment alias : getModel().getCompartments()) {
 			alias.setParent(null);
 			alias.getElements().clear();
 			if (alias instanceof PathwayCompartment) {
@@ -135,7 +135,7 @@ public class CreateHierarchyCommand extends ModelCommand {
 			}
 		}
 		for (PathwayCompartment alias : toRemove) {
-			getModel().removeAlias(alias);
+			getModel().removeElement(alias);
 		}
 	}
 
@@ -191,9 +191,9 @@ public class CreateHierarchyCommand extends ModelCommand {
 		orderingComplexesInCompartments();
 		orderingComplexesInComplexes();
 		List<Element> list = new ArrayList<Element>();
-		for (Element alias : getModel().getAliases()) {
+		for (Element alias : getModel().getElements()) {
 			if (alias instanceof Complex) {
-				for (Species specAlias : ((Complex) alias).getAliases()) {
+				for (Species specAlias : ((Complex) alias).getElements()) {
 					if (list.contains(specAlias)) {
 						throw new InvalidStateException("Some aliases are in few Complexes");
 					}
@@ -207,7 +207,7 @@ public class CreateHierarchyCommand extends ModelCommand {
 				}
 			}
 		}
-		for (Element alias : getModel().getAliases()) {
+		for (Element alias : getModel().getElements()) {
 			if (alias.getParent() != null) {
 				throw new InvalidStateException("WTF");
 			}
@@ -219,8 +219,8 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Checks if hierarchical structure of compartments is valid.
 	 */
 	private void orderConcludingCompartments() {
-		for (Compartment compartment1 : getModel().getCompartmentsAliases()) {
-			for (Compartment compartment2 : getModel().getCompartmentsAliases()) {
+		for (Compartment compartment1 : getModel().getCompartments()) {
+			for (Compartment compartment2 : getModel().getCompartments()) {
 				if (!compartment1.equals(compartment2)) {
 					if (compartment1.contains(compartment2)) {
 						Set<Element> duplicates = compartment2.getElements();
@@ -292,7 +292,7 @@ public class CreateHierarchyCommand extends ModelCommand {
 		int maxVisibilityLevel = Integer.MAX_VALUE;
 		double rate = computeRate(complex, Configuration.MAX_VISIBLE_OBJECT_SIZE);
 		maxVisibilityLevel = (int) ((int) Math.ceil(Math.log(rate)) / LOG_4);
-		for (Element child : complex.getAliases()) {
+		for (Element child : complex.getElements()) {
 			maxVisibilityLevel = Math.min(maxVisibilityLevel, child.getVisibilityLevel());
 		}
 		if (maxVisibilityLevel >= zoomLevels) {
@@ -302,7 +302,7 @@ public class CreateHierarchyCommand extends ModelCommand {
 			maxVisibilityLevel = 1;
 		}
 		complex.setTransparencyLevel(maxVisibilityLevel);
-		for (Element child : complex.getAliases()) {
+		for (Element child : complex.getElements()) {
 			child.setVisibilityLevel(complex.getTransparencyLevel());
 		}
 	}
@@ -352,11 +352,11 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 *          list of aliases
 	 */
 	private void setParentingOfNonComplexChildrens(List<Element> sortedAliases) {
-		for (Element alias : getModel().getAliases()) {
+		for (Element alias : getModel().getElements()) {
 			if (alias.getParent() == null) {
 				for (Element complex : sortedAliases) {
 					if (complex instanceof Complex) {
-						if (((Complex) complex).getAliases().contains(alias)) {
+						if (((Complex) complex).getElements().contains(alias)) {
 							alias.setParent(complex);
 						}
 					}
@@ -389,13 +389,13 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Assign aliases to compartments.
 	 */
 	private void assignToCompartments() {
-		for (Compartment alias : getModel().getCompartmentsAliases()) {
-			for (Compartment alias2 : getModel().getCompartmentsAliases()) {
+		for (Compartment alias : getModel().getCompartments()) {
+			for (Compartment alias2 : getModel().getCompartments()) {
 				if (alias.contains(alias2)) {
 					alias.addElement(alias2);
 				}
 			}
-			for (Element alias2 : getModel().getAliases()) {
+			for (Element alias2 : getModel().getElements()) {
 				if (!(alias2 instanceof Compartment)) {
 					if (alias.contains(alias2)) {
 						alias.addElement(alias2);
@@ -409,11 +409,11 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Assign aliases to complexes.
 	 */
 	private void assignToComplexes() {
-		for (Element alias : getModel().getAliases()) {
+		for (Element alias : getModel().getElements()) {
 			if (alias instanceof Complex) {
-				for (Element alias2 : getModel().getAliases()) {
+				for (Element alias2 : getModel().getElements()) {
 					if (alias.contains(alias2) && !alias.equals(alias2)) {
-						((Complex) alias).getAliases().add((Species) alias2);
+						((Complex) alias).getElements().add((Species) alias2);
 					}
 				}
 			}
@@ -424,14 +424,14 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Remove subchildren from complexes.
 	 */
 	private void orderingComplexesInComplexes() {
-		for (Element complex1 : getModel().getAliases()) {
+		for (Element complex1 : getModel().getElements()) {
 			if (complex1 instanceof Complex) {
-				for (Element complex2 : getModel().getAliases()) {
+				for (Element complex2 : getModel().getElements()) {
 					if (complex2 instanceof Complex) {
 						if (!complex1.equals(complex2)) {
 							if (complex1.contains(complex2)) {
-								List<Species> duplicates = ((Complex) complex2).getAliases();
-								((Complex) complex1).getAliases().removeAll(duplicates);
+								List<Species> duplicates = ((Complex) complex2).getElements();
+								((Complex) complex1).getElements().removeAll(duplicates);
 							}
 						}
 					}
@@ -444,10 +444,10 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Remove subchildren from compartments by complexes.
 	 */
 	private void orderingComplexesInCompartments() {
-		for (Compartment compartment : getModel().getCompartmentsAliases()) {
-			for (Element complex : getModel().getAliases()) {
+		for (Compartment compartment : getModel().getCompartments()) {
+			for (Element complex : getModel().getElements()) {
 				if (complex instanceof Complex) {
-					List<Species> duplicates = ((Complex) complex).getAliases();
+					List<Species> duplicates = ((Complex) complex).getElements();
 					compartment.getElements().removeAll(duplicates);
 				}
 			}
@@ -458,11 +458,11 @@ public class CreateHierarchyCommand extends ModelCommand {
 	 * Sets proper parents after creating hierarchical structure.
 	 */
 	private void parentingInComplexes() {
-		for (Element complex : getModel().getAliases()) {
+		for (Element complex : getModel().getElements()) {
 			if (complex instanceof Complex) {
-				for (Element child : ((Complex) complex).getAliases()) {
+				for (Element child : ((Complex) complex).getElements()) {
 					if (child instanceof Complex) {
-						if (((Complex) child).getAliases().contains(complex)) {
+						if (((Complex) child).getElements().contains(complex)) {
 							if (complex.getParent() != null) {
 								throw new InvalidStateException(
 										child.getName() + " has parent " + child.getParent().getName() + " and now again try to add new parent " + complex.getName());
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/MoveCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/MoveCommand.java
index 41c480ae8d..9451c64f4e 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/MoveCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/MoveCommand.java
@@ -57,7 +57,7 @@ public class MoveCommand extends ModelCommand {
 
 		Model model = getModel();
 
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			alias.setX(alias.getX() + dx);
 			alias.setY(alias.getY() + dy);
 			if (alias instanceof Compartment) {
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java
index aade207264..9910d2e812 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java
@@ -152,7 +152,7 @@ public class MoveElementsCommand extends ModelCommand {
 			// TODO this must be improved, we cannot do full search on every move
 			for (Reaction reaction : getModel().getReactions()) {
 				for (ReactionNode node : reaction.getReactionNodes()) {
-					if (aliases.contains(node.getAlias())) {
+					if (aliases.contains(node.getElement())) {
 						if (node instanceof Reactant) {
 							Point2D point = node.getLine().getBeginPoint();
 							point.setLocation(point.getX() + dx, point.getY() + dy);
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java
index 64302e7f96..3fbe876dbe 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java
@@ -51,7 +51,7 @@ public class SubModelCommand extends NewModelCommand {
 
 		Set<Element> aliasNotToRemove = new HashSet<Element>();
 
-		for (Element alias : result.getAliases()) {
+		for (Element alias : result.getElements()) {
 			if (polygon.intersects(alias.getBorder())) {
 				aliasNotToRemove.add(alias);
 			}
@@ -67,7 +67,7 @@ public class SubModelCommand extends NewModelCommand {
 					}
 				}
 				if (alias instanceof Species) {
-					parent = ((Species) alias).getComplexAlias();
+					parent = ((Species) alias).getComplex();
 					if (parent != null) {
 						if (!aliasNotToRemove.contains(parent)) {
 							iterativeAliasNotToRemove.add(parent);
@@ -81,11 +81,11 @@ public class SubModelCommand extends NewModelCommand {
 		} while (added);
 
 		List<Element> aliasToRemove = new ArrayList<Element>();
-		for (Element alias : result.getAliases()) {
+		for (Element alias : result.getElements()) {
 			if (!(polygon.intersects(alias.getBorder()))) {
 				boolean remove = true;
 				if (alias instanceof Species) {
-					remove = ((Species) alias).getComplexAlias() == null;
+					remove = ((Species) alias).getComplex() == null;
 				}
 				if (aliasNotToRemove.contains(alias)) {
 					remove = false;
@@ -93,7 +93,7 @@ public class SubModelCommand extends NewModelCommand {
 				if (remove) {
 					aliasToRemove.add(alias);
 					if (alias instanceof Complex) {
-						List<Species> aliases = ((Complex) alias).getAllChildrenAliases();
+						List<Species> aliases = ((Complex) alias).getAllChildren();
 						aliasToRemove.addAll(aliases);
 					}
 				}
@@ -101,7 +101,7 @@ public class SubModelCommand extends NewModelCommand {
 
 		}
 		for (Element alias : aliasToRemove) {
-			result.removeAlias(alias);
+			result.removeElement(alias);
 		}
 
 		List<Reaction> reactionsToRemove = new ArrayList<Reaction>();
@@ -109,7 +109,7 @@ public class SubModelCommand extends NewModelCommand {
 			boolean remove = false;
 			for (AbstractNode node : reaction.getNodes()) {
 				if (node instanceof ReactionNode) {
-					if (!result.getAliases().contains(((ReactionNode) node).getAlias())) {
+					if (!result.getElements().contains(((ReactionNode) node).getElement())) {
 						remove = true;
 						break;
 					}
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java b/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java
index 0ca7374b24..145d6e000e 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java
@@ -55,7 +55,7 @@ public abstract class CommandTestFunctions {
 		Complex complexAlias = new Complex("complex_alias_id");
 		model.addElement(complexAlias);
 
-		complexAlias.addAlias(alias);
+		complexAlias.addSpecies(alias);
 
 		model.addElement(alias);
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java
index cf881e785b..9625a3dab0 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java
@@ -17,7 +17,7 @@ import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
 import lcsb.mapviewer.model.map.OverviewImage;
 import lcsb.mapviewer.model.map.OverviewModelLink;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
@@ -82,14 +82,14 @@ public class CopyCommandTest extends CommandTestFunctions {
 			Complex complexAlias = new Complex("id2");
 			GenericProtein protein = new GenericProtein("A");
 			protein.setNotes(null);
-			complexAlias.addAlias(protein);
+			complexAlias.addSpecies(protein);
 			model.addElement(protein);
 			model.addElement(complexAlias);
 
 			GenericProtein alias = new GenericProtein("B");
 			alias.setNotes(null);
 
-			complexAlias.addAlias(alias);
+			complexAlias.addSpecies(alias);
 			model.addElement(alias);
 
 			Model copy = new CopyCommand(model).execute();
@@ -207,7 +207,7 @@ public class CopyCommandTest extends CommandTestFunctions {
 			model3.setNotes("ASDSA");
 			model.addSubmodelConnection(new ModelSubmodelConnection(model3, SubmodelType.DOWNSTREAM_TARGETS, "name b"));
 			Element alias = model2.getElementByElementId("a_id");
-			alias.setSubmodel(new AliasSubmodelConnection(model3, SubmodelType.DOWNSTREAM_TARGETS, "name c"));
+			alias.setSubmodel(new ElementSubmodelConnection(model3, SubmodelType.DOWNSTREAM_TARGETS, "name c"));
 			Model copy = new CopyCommand(model2).execute();
 
 			ModelComparator comparator = new ModelComparator();
@@ -227,7 +227,7 @@ public class CopyCommandTest extends CommandTestFunctions {
 			model2.setNotes("ASDSA2");
 
 			model.addSubmodelConnection(new ModelSubmodelConnection(model2, SubmodelType.DOWNSTREAM_TARGETS));
-			model.getElementByElementId("a_id").setSubmodel(new AliasSubmodelConnection(model2, SubmodelType.DOWNSTREAM_TARGETS));
+			model.getElementByElementId("a_id").setSubmodel(new ElementSubmodelConnection(model2, SubmodelType.DOWNSTREAM_TARGETS));
 			Model copy = new CopyCommand(model).execute();
 
 			ModelComparator comparator = new ModelComparator();
@@ -263,7 +263,7 @@ public class CopyCommandTest extends CommandTestFunctions {
 			Model model2 = getModel();
 			model2.setNotes("ASDSA2");
 
-			model.getElementByElementId("a_id").setSubmodel(new AliasSubmodelConnection(model2, SubmodelType.DOWNSTREAM_TARGETS));
+			model.getElementByElementId("a_id").setSubmodel(new ElementSubmodelConnection(model2, SubmodelType.DOWNSTREAM_TARGETS));
 			try {
 				new CopyCommand(model).execute();
 				fail("Exception expected");
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
index def0925b15..f6e249f3f0 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
@@ -54,7 +54,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 			}
 
 			Set<Integer> levels = new HashSet<Integer>();
-			for (Element a : model.getAliases()) {
+			for (Element a : model.getElements()) {
 				levels.add(a.getVisibilityLevel());
 			}
 			assertTrue(levels.size() > 2);
@@ -88,7 +88,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 			new CreateHierarchyCommand(model, 2, 2).execute();
 
 			boolean artifitial = false;
-			for (Compartment a : model.getCompartmentsAliases()) {
+			for (Compartment a : model.getCompartments()) {
 				if (a instanceof PathwayCompartment) {
 					artifitial = true;
 				}
@@ -106,16 +106,16 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 		try {
 			Model model = getModelForFile("testFiles/artifitial_compartments.xml", false);
 
-			int aliasSize0 = model.getCompartmentsAliases().size();
+			int aliasSize0 = model.getCompartments().size();
 
 			new CreateHierarchyCommand(model, 2, 2).execute();
 
-			int aliasSize = model.getCompartmentsAliases().size();
+			int aliasSize = model.getCompartments().size();
 
 			assertTrue(aliasSize0 != aliasSize);
 			new CreateHierarchyCommand(model, 2, 2).execute();
 
-			int aliasSize2 = model.getCompartmentsAliases().size();
+			int aliasSize2 = model.getCompartments().size();
 
 			assertEquals(aliasSize, aliasSize2);
 		} catch (Exception e) {
@@ -134,7 +134,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 
 			new CreateHierarchyCommand(model, levels, zoomFactor).execute();
 
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				if (alias.getParent() == null) {
 					assertTrue("Alias " + alias.getElementId() + " is not visible at levels highers than " + alias.getVisibilityLevel(), alias.getVisibilityLevel() <= 1);
 				}
@@ -156,7 +156,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 
 			new CreateHierarchyCommand(model, levels, zoomFactor).execute();
 
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				assertTrue(
 						"Alias " + alias.getElementId() + " is not visible even at the bottom level (visibility: " + alias.getVisibilityLevel() + ") ",
 						alias.getVisibilityLevel() <= levels);
@@ -210,13 +210,13 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 
 			CreateHierarchyCommand command = new CreateHierarchyCommand(model, 2, 2);
 			command.clean();
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				assertNull(alias.getParent());
 				if (alias instanceof Complex) {
-					assertTrue(((Complex) alias).getAliases().isEmpty());
+					assertTrue(((Complex) alias).getElements().isEmpty());
 				}
 			}
-			for (Compartment alias : model.getCompartmentsAliases()) {
+			for (Compartment alias : model.getCompartments()) {
 				assertNull(alias.getParent());
 				assertTrue(alias.getElements().isEmpty());
 			}
@@ -239,7 +239,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 			CreateHierarchyCommand command = new CreateHierarchyCommand(model, zoomLevels, zoomFactor);
 			command.execute();
 
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				Element parentAlias = alias.getParent();
 				if (parentAlias != null) {
 					assertTrue(alias.getVisibilityLevel() >= parentAlias.getVisibilityLevel());
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java
index b455827cef..9521e94745 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java
@@ -41,7 +41,7 @@ public class SubModelCommandTest extends CommandTestFunctions {
 
 			Model copy = new SubModelCommand(model, polygon).execute();
 
-			assertEquals(2, copy.getAliases().size());
+			assertEquals(2, copy.getElements().size());
 			assertEquals(0, copy.getReactions().size());
 
 		} catch (Exception e) {
@@ -64,7 +64,7 @@ public class SubModelCommandTest extends CommandTestFunctions {
 
 			Model copy = new SubModelCommand(model, polygon).execute();
 
-			assertEquals(9, copy.getAliases().size());
+			assertEquals(9, copy.getElements().size());
 			assertEquals(1, copy.getReactions().size());
 
 		} catch (Exception e) {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/AliasInFewParentsException.java b/model/src/main/java/lcsb/mapviewer/model/map/ElementInFewParentsException.java
similarity index 59%
rename from model/src/main/java/lcsb/mapviewer/model/map/AliasInFewParentsException.java
rename to model/src/main/java/lcsb/mapviewer/model/map/ElementInFewParentsException.java
index d99c9b7ad8..3938eb8261 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/AliasInFewParentsException.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/ElementInFewParentsException.java
@@ -1,24 +1,24 @@
-package lcsb.mapviewer.model.map;
-
-/**
- * Exception thrown when one alias has more then one parent.
- * 
- * @author Piotr Gawron
- * 
- */
-public class AliasInFewParentsException extends Exception {
-	/**
-	 * 
-	 */
-	private static final long	serialVersionUID	= 1L;
-
-	/**
-	 * Default constructor with a message passed in the argument.
-	 * 
-	 * @param message
-	 *          text message of this exception
-	 */
-	public AliasInFewParentsException(String message) {
-		super(message);
-	}
-}
+package lcsb.mapviewer.model.map;
+
+/**
+ * Exception thrown when one element has more then one parent.
+ * 
+ * @author Piotr Gawron
+ * 
+ */
+public class ElementInFewParentsException extends Exception {
+	/**
+	 * 
+	 */
+	private static final long	serialVersionUID	= 1L;
+
+	/**
+	 * Default constructor with a message passed in the argument.
+	 * 
+	 * @param message
+	 *          text message of this exception
+	 */
+	public ElementInFewParentsException(String message) {
+		super(message);
+	}
+}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartment.java
index 581dc4f308..7981046d40 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartment.java
@@ -14,7 +14,7 @@ import lcsb.mapviewer.model.map.model.Model;
  * 
  */
 @Entity
-@DiscriminatorValue("Bottom square Compartment Alias")
+@DiscriminatorValue("Bottom square Compartment")
 public class BottomSquareCompartment extends Compartment {
 
 	/**
@@ -23,16 +23,16 @@ public class BottomSquareCompartment extends Compartment {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * Constructor that creates an alias with the new shape but takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates an compartment with the new shape but takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 * @param model
-	 *          model object to which the alias will be assigned
+	 *          model object to which the compartment will be assigned
 	 */
-	public BottomSquareCompartment(Compartment originalAlias, Model model) {
-		super(originalAlias);
+	public BottomSquareCompartment(Compartment original, Model model) {
+		super(original);
 		setX(0.0);
 		setWidth(model.getWidth() * 2);
 		setY(0.0);
@@ -40,23 +40,33 @@ public class BottomSquareCompartment extends Compartment {
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape and takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates an compartment with the new shape and takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 */
-	public BottomSquareCompartment(Compartment originalAlias) {
-		super(originalAlias);
+	public BottomSquareCompartment(Compartment original) {
+		super(original);
 	}
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
-	public BottomSquareCompartment() {
+	BottomSquareCompartment() {
 		super();
 	}
 
+	/**
+	 * Default constructor.
+	 * 
+	 * @param elementId
+	 *          identifier of the compartment
+	 */
+	public BottomSquareCompartment(String elementId) {
+		setElementId(elementId);
+	}
+
 	@Override
 	public BottomSquareCompartment copy() {
 		if (this.getClass() == BottomSquareCompartment.class) {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java
index 08937710b5..9381820fb6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.species.Species;
  * 
  */
 @Entity
-@DiscriminatorValue("Compartment Alias")
+@DiscriminatorValue("Compartment")
 public class Compartment extends Element {
 
 	/**
@@ -86,7 +86,7 @@ public class Compartment extends Element {
 	 * {@link Element Elements} that are directly inside this compartment.
 	 */
 	@Cascade({ CascadeType.ALL })
-	@OneToMany(fetch = FetchType.EAGER, mappedBy = "compartmentAlias")
+	@OneToMany(fetch = FetchType.EAGER, mappedBy = "compartment")
 	private Set<Element>			 elements											 = new HashSet<>();
 
 	/**
@@ -181,17 +181,17 @@ public class Compartment extends Element {
 				if (element.equals(elementToAdd)) {
 					return;
 				} else {
-					throw new InvalidArgumentException("Alias " + elementToAdd.getElementId() + " already on the list of compartment " + getElementId() + " children");
+					throw new InvalidArgumentException("Element " + elementToAdd.getElementId() + " already on the list of compartment " + getElementId() + " children");
 				}
 			}
 		}
 		elements.add(elementToAdd);
-		elementToAdd.setCompartmentAlias(this);
+		elementToAdd.setCompartment(this);
 	}
 
 	/**
-	 * Return set of all {@link Element elements} inside the compartment alias
-	 * (not necessery directly in the compartment).
+	 * Return set of all {@link Element elements} inside the compartment (not
+	 * necessery directly in the compartment).
 	 * 
 	 * @return list of all elements in the compartment
 	 */
@@ -280,9 +280,9 @@ public class Compartment extends Element {
 	 */
 	public void removeElement(Element element) {
 		elements.remove(element);
-		if (element.getCompartmentAlias() != null) {
-			if (element.getCompartmentAlias() == this) {
-				element.setCompartmentAlias(null);
+		if (element.getCompartment() != null) {
+			if (element.getCompartment() == this) {
+				element.setCompartment(null);
 			} else {
 				logger.warn("Removing element from compartment that might not belong there");
 			}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java
index aa8860039e..e56a9c0532 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.ElementComparator;
 
 /**
- * This class implements comparator interface for CompartmentAlias.
+ * This class implements comparator interface for {@link Compartment} objects.
  * 
  * @author Piotr Gawron
  * 
@@ -23,6 +23,7 @@ import lcsb.mapviewer.model.map.species.ElementComparator;
  * 
  */
 public class CompartmentComparator implements Comparator<Compartment> {
+
 	/**
 	 * Default class logger.
 	 */
@@ -70,8 +71,8 @@ public class CompartmentComparator implements Comparator<Compartment> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in CompartmentAlias
-	 * class in inheritence tree.
+	 * This method compares only the fields that are defined in
+	 * {@link Compartment} class in inheritence tree.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -81,8 +82,8 @@ public class CompartmentComparator implements Comparator<Compartment> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Compartment arg0, Compartment arg1) {
-		ElementComparator aliasComparator = new ElementComparator(epsilon);
-		int result = aliasComparator.internalCompare(arg0, arg1);
+		ElementComparator elementComparator = new ElementComparator(epsilon);
+		int result = elementComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
@@ -112,32 +113,32 @@ public class CompartmentComparator implements Comparator<Compartment> {
 		}
 
 		if (integerComparator.compare(arg0.getElements().size(), arg1.getElements().size()) != 0) {
-			logger.debug("Aliases number different: " + arg0.getElements().size() + ", " + arg1.getElements().size());
+			logger.debug("Elements number different: " + arg0.getElements().size() + ", " + arg1.getElements().size());
 			return integerComparator.compare(arg0.getElements().size(), arg1.getElements().size());
 		}
 
 		Map<String, Element> map1 = new HashMap<>();
 		Map<String, Element> map2 = new HashMap<>();
 
-		for (Element alias : arg0.getElements()) {
-			if (map1.get(alias.getElementId()) != null) {
-				throw new InvalidArgumentException("Few aliases with the same id: " + alias.getElementId());
+		for (Element element : arg0.getElements()) {
+			if (map1.get(element.getElementId()) != null) {
+				throw new InvalidArgumentException("Few elements with the same id: " + element.getElementId());
 			}
-			map1.put(alias.getElementId(), alias);
+			map1.put(element.getElementId(), element);
 		}
 
-		for (Element alias : arg1.getElements()) {
-			if (map2.get(alias.getElementId()) != null) {
-				throw new InvalidArgumentException("Few aliases with the same id: " + alias.getElementId());
+		for (Element element : arg1.getElements()) {
+			if (map2.get(element.getElementId()) != null) {
+				throw new InvalidArgumentException("Few elements with the same id: " + element.getElementId());
 			}
-			map2.put(alias.getElementId(), alias);
+			map2.put(element.getElementId(), element);
 		}
 
-		for (Element alias : arg0.getElements()) {
-			Element alias2 = map2.get(alias.getElementId());
-			int status = aliasComparator.compare(alias, alias2);
+		for (Element element : arg0.getElements()) {
+			Element element2 = map2.get(element.getElementId());
+			int status = elementComparator.compare(element, element2);
 			if (status != 0) {
-				logger.debug("Couldn't match alias: " + alias.getElementId() + ", " + alias2);
+				logger.debug("Couldn't match element: " + element.getElementId() + ", " + element2);
 				return status;
 			}
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartment.java
index 8df301320b..a2136ad14c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartment.java
@@ -6,7 +6,6 @@ import javax.persistence.Entity;
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.model.Model;
 
-
 /**
  * This class defines compartment that covers left part of the model up to some
  * border on the right side.
@@ -15,33 +14,33 @@ import lcsb.mapviewer.model.map.model.Model;
  * 
  */
 @Entity
-@DiscriminatorValue("Left square Compartment Alias")
+@DiscriminatorValue("Left square Compartment")
 public class LeftSquareCompartment extends Compartment {
 
 	/**
 	 * 
 	 */
-	private static final long	serialVersionUID	= 1L;
+	private static final long serialVersionUID = 1L;
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
-	public LeftSquareCompartment() {
+	LeftSquareCompartment() {
 		super();
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape but takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape but takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 * @param model
-	 *          model object to which the alias will be assigned
+	 *          model object to which the compartment will be assigned
 	 */
 
-	public LeftSquareCompartment(Compartment originalAlias, Model model) {
-		super(originalAlias);
+	public LeftSquareCompartment(Compartment original, Model model) {
+		super(original);
 		setX(0.0);
 		setWidth(model.getWidth() * 2);
 		setY(0.0);
@@ -49,14 +48,24 @@ public class LeftSquareCompartment extends Compartment {
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape and takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape and takes the
+	 * reference data from the compartment given as parameter.
+	 * 
+	 * @param original
+	 *          orignal compartment where the data was kept
+	 */
+	public LeftSquareCompartment(LeftSquareCompartment original) {
+		super(original);
+	}
+
+	/**
+	 * Default constructor.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param elementId
+	 *          identifier of the compartment
 	 */
-	public LeftSquareCompartment(LeftSquareCompartment originalAlias) {
-		super(originalAlias);
+	public LeftSquareCompartment(String elementId) {
+		setElementId(elementId);
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/OvalCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/OvalCompartment.java
index 23194155a7..2f5dc003cc 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/OvalCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/OvalCompartment.java
@@ -6,13 +6,13 @@ import javax.persistence.Entity;
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
 /**
- * This class defines compartment alias with oval shape.
+ * This class defines compartment with oval shape.
  * 
  * @author Piotr Gawron
  * 
  */
 @Entity
-@DiscriminatorValue("Oval Compartment Alias")
+@DiscriminatorValue("Oval Compartment")
 public class OvalCompartment extends Compartment {
 
 	/**
@@ -21,21 +21,21 @@ public class OvalCompartment extends Compartment {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
-	public OvalCompartment() {
+	OvalCompartment() {
 		super();
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape and takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape and takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 */
-	public OvalCompartment(Compartment originalAlias) {
-		super(originalAlias);
+	public OvalCompartment(Compartment original) {
+		super(original);
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/PathwayCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/PathwayCompartment.java
index 8330145fc5..58fd5fadb6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/PathwayCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/PathwayCompartment.java
@@ -12,7 +12,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
  * 
  */
 @Entity
-@DiscriminatorValue("Artifitial Compartment Alias")
+@DiscriminatorValue("Pathway Compartment")
 public class PathwayCompartment extends Compartment {
 
 	/**
@@ -21,7 +21,7 @@ public class PathwayCompartment extends Compartment {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
 	PathwayCompartment() {
 		super();
@@ -30,12 +30,12 @@ public class PathwayCompartment extends Compartment {
 	/**
 	 * Default constructor.
 	 * 
-	 * @param aliasId
+	 * @param elementId
 	 *          identifier of the compartment
 	 */
-	public PathwayCompartment(String aliasId) {
+	public PathwayCompartment(String elementId) {
 		super();
-		setElementId(aliasId);
+		setElementId(elementId);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java
index 8dd6a3f653..5e257e5881 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java
@@ -16,53 +16,53 @@ import lcsb.mapviewer.model.map.model.Model;
  * 
  */
 @Entity
-@DiscriminatorValue("Right square Compartment Alias")
+@DiscriminatorValue("Right square Compartment")
 public class RightSquareCompartment extends Compartment {
 	/**
 	 * 
 	 */
-	private static final long	serialVersionUID	= 1L;
-	
+	private static final long	serialVersionUID = 1L;
+
 	/**
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(RightSquareCompartment.class);
+	private static Logger			logger					 = Logger.getLogger(RightSquareCompartment.class);
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
-	public RightSquareCompartment() {
+	RightSquareCompartment() {
 		super();
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape but takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape but takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 * @param model
-	 *          model object to which the alias will be assigned
+	 *          model object to which the compartment will be assigned
 	 */
-		public RightSquareCompartment(Compartment originalAlias, Model model) {
-		super(originalAlias);
+	public RightSquareCompartment(Compartment original, Model model) {
+		super(original);
 		setX(0.0);
 		setWidth(model.getWidth() * 2);
 		setY(0.0);
 		setHeight(model.getHeight() * 2);
 	}
 
-		/**
-		 * Sets the CellDesigner point coordinates. In the implementation of
-		 * BottomSquare it should define left border.
-		 * 
-		 * @param y
-		 *          to be ignored
-		 * @param x
-		 *          left border
-		 * 
-		 */
+	/**
+	 * Sets the CellDesigner point coordinates. In the implementation of
+	 * BottomSquare it should define left border.
+	 * 
+	 * @param y
+	 *          to be ignored
+	 * @param x
+	 *          left border
+	 * 
+	 */
 	public void setPoint(String x, String y) {
 		// set left border
 		setX(x);
@@ -70,14 +70,24 @@ public class RightSquareCompartment extends Compartment {
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape and takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape and takes the
+	 * reference data from the compartment given as parameter.
+	 * 
+	 * @param original
+	 *          orignal compartment where the data was kept
+	 */
+	public RightSquareCompartment(RightSquareCompartment original) {
+		super(original);
+	}
+
+	/**
+	 * Default constructor.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param elementId
+	 *          identifier of the compartment
 	 */
-	public RightSquareCompartment(RightSquareCompartment originalAlias) {
-		super(originalAlias);
+	public RightSquareCompartment(String elementId) {
+		setElementId(elementId);
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/SquareCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/SquareCompartment.java
index e6dc926017..7879103bd3 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/SquareCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/SquareCompartment.java
@@ -6,13 +6,13 @@ import javax.persistence.Entity;
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
 /**
- * This class defines compartment alias with oval shape.
+ * This class defines compartment with oval shape.
  * 
  * @author Piotr Gawron
  * 
  */
 @Entity
-@DiscriminatorValue("Square Compartment Alias")
+@DiscriminatorValue("Square Compartment")
 public class SquareCompartment extends Compartment {
 
 	/**
@@ -21,32 +21,32 @@ public class SquareCompartment extends Compartment {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
 	SquareCompartment() {
 		super();
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape and takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape and takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 */
-	public SquareCompartment(Compartment originalAlias) {
-		super(originalAlias);
+	public SquareCompartment(Compartment original) {
+		super(original);
 	}
 
 	/**
 	 * Default constructor.
 	 * 
-	 * @param aliasId
+	 * @param elementId
 	 *          identifier of the compartment
 	 */
-	public SquareCompartment(String aliasId) {
+	public SquareCompartment(String elementId) {
 		super();
-		setElementId(aliasId);
+		setElementId(elementId);
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartment.java
index f45c36766a..03dc161d9c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartment.java
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.model.Model;
  */
 
 @Entity
-@DiscriminatorValue("Top square Compartment Alias")
+@DiscriminatorValue("Top square Compartment")
 public class TopSquareCompartment extends Compartment {
 
 	/**
@@ -24,23 +24,23 @@ public class TopSquareCompartment extends Compartment {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * Default constructor.
+	 * Empty constructor required by hibernate.
 	 */
-	public TopSquareCompartment() {
+	TopSquareCompartment() {
 		super();
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape but takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape but takes the
+	 * reference data from the compartment given as parameter.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param original
+	 *          orignal compartment where the data was kept
 	 * @param model
-	 *          model object to which the alias will be assigned
+	 *          model object to which the compartment will be assigned
 	 */
-	public TopSquareCompartment(Compartment originalAlias, Model model) {
-		super(originalAlias);
+	public TopSquareCompartment(Compartment original, Model model) {
+		super(original);
 		setX(0.0);
 		setWidth(model.getWidth() * 2);
 		setY(0.0);
@@ -48,14 +48,24 @@ public class TopSquareCompartment extends Compartment {
 	}
 
 	/**
-	 * Constructor that creates an alias with the new shape and takes the
-	 * reference data from the alias given as parameter.
+	 * Constructor that creates a compartment with the new shape and takes the
+	 * reference data from the compartment given as parameter.
+	 * 
+	 * @param original
+	 *          orignal compartment where the data was kept
+	 */
+	public TopSquareCompartment(TopSquareCompartment original) {
+		super(original);
+	}
+
+	/**
+	 * Default constructor.
 	 * 
-	 * @param originalAlias
-	 *          orignal alias where the data was kept
+	 * @param elementId
+	 *          identifier of the compartment
 	 */
-	public TopSquareCompartment(TopSquareCompartment originalAlias) {
-		super(originalAlias);
+	public TopSquareCompartment(String elementId) {
+		setElementId(elementId);
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/ElementGroup.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/ElementGroup.java
index 9a010c87e6..d3f3b0e78a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/ElementGroup.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/ElementGroup.java
@@ -26,9 +26,9 @@ public class ElementGroup implements Serializable {
 	private String			idGroup;
 
 	/**
-	 * List of aliases in the group.
+	 * List of elements in the group.
 	 */
-	private List<Element>	aliases	= new ArrayList<Element>();
+	private List<Element>	elements	= new ArrayList<>();
 
 	/**
 	 * @return the idGroup
@@ -48,30 +48,30 @@ public class ElementGroup implements Serializable {
 	}
 
 	/**
-	 * @return the aliases
-	 * @see #aliases
+	 * @return the elements
+	 * @see #elements
 	 */
-	public List<Element> getAliases() {
-		return aliases;
+	public List<Element> getElements() {
+		return elements;
 	}
 
 	/**
-	 * @param aliases
-	 *          the aliases to set
-	 * @see #aliases
+	 * @param elements
+	 *          the elements to set
+	 * @see #elements
 	 */
-	public void setAliases(List<Element> aliases) {
-		this.aliases = aliases;
+	public void setElements(List<Element> elements) {
+		this.elements = elements;
 	}
 
 	/**
-	 * Add alias to the group.
+	 * Add element to the group.
 	 * 
-	 * @param alias
+	 * @param element
 	 *          object to add to the group
 	 */
-	public void addAlias(Element alias) {
-		aliases.add(alias);
+	public void addElement(Element element) {
+		elements.add(element);
 	}
 
 }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnection.java b/model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnection.java
deleted file mode 100644
index bad3304df1..0000000000
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnection.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package lcsb.mapviewer.model.map.model;
-
-import java.io.Serializable;
-
-import javax.persistence.DiscriminatorValue;
-import javax.persistence.Entity;
-import javax.persistence.ManyToOne;
-
-import lcsb.mapviewer.common.exception.NotImplementedException;
-import lcsb.mapviewer.model.map.species.Element;
-
-/**
- * This class defines connection between alias and submap (submodel). This means
- * that single alias should be "expandable" into map represented by
- * {@link SubmodelConnection#submodel} object.
- * 
- * @author Piotr Gawron
- * 
- */
-@Entity
-@DiscriminatorValue("ALIAS_SUBMODEL_LINK")
-public class AliasSubmodelConnection extends SubmodelConnection implements Serializable {
-	/**
-	 * 
-	 */
-	private static final long	serialVersionUID = 1L;
-
-	/**
-	 * From which alias this connection start.
-	 */
-	@ManyToOne
-	private Element							fromAlias;
-
-	/**
-	 * This object defines reference element in submodel that represents central
-	 * (or identical) object in reference submodel.
-	 */
-	@ManyToOne
-	private Element							toAlias;
-
-	/**
-	 * Default constructor that initialize some fields.
-	 * 
-	 * @param submodel
-	 *          {@link SubmodelConnection#submodel}
-	 * @param type
-	 *          {@link SubmodelConnection#type}
-	 */
-	public AliasSubmodelConnection(ModelData submodel, SubmodelType type) {
-		super(submodel, type);
-	}
-
-	/**
-	 * Default constructor that initialize some fields.
-	 * 
-	 * @param model
-	 *          {@link SubmodelConnection#submodel}
-	 * @param type
-	 *          {@link SubmodelConnection#type}
-	 */
-	public AliasSubmodelConnection(Model model, SubmodelType type) {
-		super(model.getModelData(), type);
-	}
-
-	/**
-	 * Default constructor.
-	 */
-	public AliasSubmodelConnection() {
-	}
-
-	/**
-	 * Constructor that creates copy of the {@link AliasSubmodelConnection}
-	 * object.
-	 * 
-	 * @param original
-	 *          original object from which copy is prepared
-	 */
-	public AliasSubmodelConnection(AliasSubmodelConnection original) {
-		super(original);
-		this.setFromAlias(original.getFromAlias());
-		this.setToAlias(original.getToAlias());
-	}
-
-	/**
-	 * Default constructor that initialize some fields.
-	 * 
-	 * @param submodel
-	 *          {@link SubmodelConnection#submodel}
-	 * @param type
-	 *          {@link SubmodelConnection#type}
-	 * @param name
-	 *          {@link SubmodelConnection#name}
-	 */
-	public AliasSubmodelConnection(Model submodel, SubmodelType type, String name) {
-		super(submodel, type, name);
-	}
-
-	/**
-	 * @return the fromAlias
-	 * @see #fromAlias
-	 */
-	public Element getFromAlias() {
-		return fromAlias;
-	}
-
-	/**
-	 * @param fromAlias
-	 *          the fromAlias to set
-	 * @see #fromAlias
-	 */
-	public void setFromAlias(Element fromAlias) {
-		this.fromAlias = fromAlias;
-	}
-
-	/**
-	 * @return the toAlias
-	 * @see #toAlias
-	 */
-	public Element getToAlias() {
-		return toAlias;
-	}
-
-	/**
-	 * @param toAlias
-	 *          the toAlias to set
-	 * @see #toAlias
-	 */
-	public void setToAlias(Element toAlias) {
-		this.toAlias = toAlias;
-	}
-
-	@Override
-	public AliasSubmodelConnection copy() {
-		if (this.getClass() == AliasSubmodelConnection.class) {
-			AliasSubmodelConnection result = new AliasSubmodelConnection();
-			result.assignValuesFromOriginal(this);
-			result.setFromAlias(this.getFromAlias());
-			result.setToAlias(this.getToAlias());
-			return result;
-		} else {
-			throw new NotImplementedException("Method copy() should be overriden in class " + this.getClass());
-		}
-	}
-}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnection.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnection.java
new file mode 100644
index 0000000000..20e56a9408
--- /dev/null
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnection.java
@@ -0,0 +1,144 @@
+package lcsb.mapviewer.model.map.model;
+
+import java.io.Serializable;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.ManyToOne;
+
+import lcsb.mapviewer.common.exception.NotImplementedException;
+import lcsb.mapviewer.model.map.species.Element;
+
+/**
+ * This class defines connection between {@link Element} and submap (submodel).
+ * This means that single {@link Element} should be "expandable" into map
+ * represented by {@link SubmodelConnection#submodel} object.
+ * 
+ * @author Piotr Gawron
+ * 
+ */
+@Entity
+@DiscriminatorValue("ALIAS_SUBMODEL_LINK")
+public class ElementSubmodelConnection extends SubmodelConnection implements Serializable {
+	/**
+	 * 
+	 */
+	private static final long	serialVersionUID = 1L;
+
+	/**
+	 * From which {@link Element} this connection start.
+	 */
+	@ManyToOne
+	private Element						fromElement;
+
+	/**
+	 * This object defines reference element in submodel that represents central
+	 * (or identical) object in reference submodel.
+	 */
+	@ManyToOne
+	private Element						toElement;
+
+	/**
+	 * Default constructor that initialize some fields.
+	 * 
+	 * @param submodel
+	 *          {@link SubmodelConnection#submodel}
+	 * @param type
+	 *          {@link SubmodelConnection#type}
+	 */
+	public ElementSubmodelConnection(ModelData submodel, SubmodelType type) {
+		super(submodel, type);
+	}
+
+	/**
+	 * Default constructor that initialize some fields.
+	 * 
+	 * @param model
+	 *          {@link SubmodelConnection#submodel}
+	 * @param type
+	 *          {@link SubmodelConnection#type}
+	 */
+	public ElementSubmodelConnection(Model model, SubmodelType type) {
+		super(model.getModelData(), type);
+	}
+
+	/**
+	 * Default constructor.
+	 */
+	public ElementSubmodelConnection() {
+	}
+
+	/**
+	 * Constructor that creates copy of the {@link ElementSubmodelConnection}
+	 * object.
+	 * 
+	 * @param original
+	 *          original object from which copy is prepared
+	 */
+	public ElementSubmodelConnection(ElementSubmodelConnection original) {
+		super(original);
+		this.setFromElement(original.getFromElement());
+		this.setToElement(original.getToElement());
+	}
+
+	/**
+	 * Default constructor that initialize some fields.
+	 * 
+	 * @param submodel
+	 *          {@link SubmodelConnection#submodel}
+	 * @param type
+	 *          {@link SubmodelConnection#type}
+	 * @param name
+	 *          {@link SubmodelConnection#name}
+	 */
+	public ElementSubmodelConnection(Model submodel, SubmodelType type, String name) {
+		super(submodel, type, name);
+	}
+
+	/**
+	 * @return the fromElement
+	 * @see #fromElement
+	 */
+	public Element getFromElement() {
+		return fromElement;
+	}
+
+	/**
+	 * @param fromElement
+	 *          the fromElement to set
+	 * @see #fromElement
+	 */
+	public void setFromElement(Element fromElement) {
+		this.fromElement = fromElement;
+	}
+
+	/**
+	 * @return the toElement
+	 * @see #toElement
+	 */
+	public Element getToElement() {
+		return toElement;
+	}
+
+	/**
+	 * @param toElement
+	 *          the toElement to set
+	 * @see #toElement
+	 */
+	public void setToElement(Element toElement) {
+		this.toElement = toElement;
+	}
+
+	@Override
+	public ElementSubmodelConnection copy() {
+		if (this.getClass() == ElementSubmodelConnection.class) {
+			ElementSubmodelConnection result = new ElementSubmodelConnection();
+			result.assignValuesFromOriginal(this);
+			result.setFromElement(this.getFromElement());
+			result.setToElement(this.getToElement());
+			return result;
+		} else {
+			throw new NotImplementedException("Method copy() should be overriden in class " + this.getClass());
+		}
+	}
+}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java
similarity index 52%
rename from model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionComparator.java
rename to model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java
index 5db1a1da5b..c1709b3a29 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java
@@ -9,16 +9,17 @@ import lcsb.mapviewer.model.map.species.ElementComparator;
 import org.apache.log4j.Logger;
 
 /**
- * This class implements comparator interface for {@link AliasSubmodelConnection}. 
+ * This class implements comparator interface for {@link ElementSubmodelConnection}. 
  * 
  * @author Piotr Gawron
  * 
  */
-public class AliasSubmodelConnectionComparator implements Comparator<AliasSubmodelConnection> {
+public class ElementSubmodelConnectionComparator implements Comparator<ElementSubmodelConnection> {
+	
 	/**
 	 * Default class logger.
 	 */
-	private static Logger	logger	= Logger.getLogger(AliasSubmodelConnectionComparator.class);
+	private static Logger	logger	= Logger.getLogger(ElementSubmodelConnectionComparator.class);
 
 	/**
 	 * Epsilon value used for comparison of doubles.
@@ -31,19 +32,19 @@ public class AliasSubmodelConnectionComparator implements Comparator<AliasSubmod
 	 * @param epsilon
 	 *          {@link #epsilon}
 	 */
-	public AliasSubmodelConnectionComparator(double epsilon) {
+	public ElementSubmodelConnectionComparator(double epsilon) {
 		this.epsilon = epsilon;
 	}
 
 	/**
 	 * Default constructor.
 	 */
-	public AliasSubmodelConnectionComparator() {
+	public ElementSubmodelConnectionComparator() {
 		this(Configuration.EPSILON);
 	}
 
 	@Override
-	public int compare(AliasSubmodelConnection arg0, AliasSubmodelConnection arg1) {
+	public int compare(ElementSubmodelConnection arg0, ElementSubmodelConnection arg1) {
 		if (arg0 == null) {
 			if (arg1 == null) {
 				return 0;
@@ -64,7 +65,7 @@ public class AliasSubmodelConnectionComparator implements Comparator<AliasSubmod
 
 	/**
 	 * This method compares only the fields that are defined in
-	 * {@link AliasSubmodelConnection} class in inheritence tree. It also calls
+	 * {@link ElementSubmodelConnection} class in inheritence tree. It also calls
 	 * the {@link SubmodelConnectionComparator} for the super class (
 	 * {@link SubmodelConnection}).
 	 * 
@@ -75,34 +76,34 @@ public class AliasSubmodelConnectionComparator implements Comparator<AliasSubmod
 	 * @return if all fields are qual then returns 0. If they are different then
 	 *         -1/1 is returned.
 	 */
-	public int internalCompare(AliasSubmodelConnection arg0, AliasSubmodelConnection arg1) {
+	public int internalCompare(ElementSubmodelConnection arg0, ElementSubmodelConnection arg1) {
 		SubmodelConnectionComparator superComparator = new SubmodelConnectionComparator(epsilon);
 
 		int result = superComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
-		ElementComparator aliasComparator = new ElementComparator(epsilon);
-		Element alias1 = arg0.getFromAlias();
-		Element alias2 = arg1.getFromAlias();
-		arg0.setFromAlias(null);
-		arg1.setFromAlias(null);
-		int status = aliasComparator.compare(alias1, alias2);
-		arg0.setFromAlias(alias1);
-		arg1.setFromAlias(alias2);
+		ElementComparator elementComparator = new ElementComparator(epsilon);
+		Element element1 = arg0.getFromElement();
+		Element element2 = arg1.getFromElement();
+		arg0.setFromElement(null);
+		arg1.setFromElement(null);
+		int status = elementComparator.compare(element1, element2);
+		arg0.setFromElement(element1);
+		arg1.setFromElement(element2);
 		if (status != 0) {
-			logger.debug("from alias different: " + arg0.getFromAlias() + ", " + arg1.getFromAlias());
+			logger.debug("from element different: " + arg0.getFromElement() + ", " + arg1.getFromElement());
 			return status;
 		}
-		alias1 = arg0.getToAlias();
-		alias2 = arg1.getToAlias();
-		arg0.setToAlias(null);
-		arg1.setToAlias(null);
-		status = aliasComparator.compare(alias1, alias2);
-		arg0.setToAlias(alias1);
-		arg1.setToAlias(alias2);
+		element1 = arg0.getToElement();
+		element2 = arg1.getToElement();
+		arg0.setToElement(null);
+		arg1.setToElement(null);
+		status = elementComparator.compare(element1, element2);
+		arg0.setToElement(element1);
+		arg1.setToElement(element2);
 		if (status != 0) {
-			logger.debug("to alias different: " + arg0.getToAlias() + ", " + arg1.getToAlias());
+			logger.debug("to element different: " + arg0.getToElement() + ", " + arg1.getToElement());
 			return status;
 		}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
index b29a5720fd..eaaa741a2b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
@@ -47,12 +47,12 @@ public interface Model {
 	void setSbgnFormat(boolean sbgnFormat);
 
 	/**
-	 * Adds alias to the model.
+	 * Adds element to the model.
 	 * 
-	 * @param alias
-	 *          alias to add
+	 * @param element
+	 *          element to add
 	 */
-	void addElement(Element alias);
+	void addElement(Element element);
 
 	/**
 	 * Returns map model version.
@@ -118,10 +118,10 @@ public interface Model {
 	 * 
 	 * @return set of all alisaes
 	 */
-	Set<Element> getAliases();
+	Set<Element> getElements();
 
 	/**
-	 * Returns alias with the given alias identfier ({@link Element#aliasId}).
+	 * Returns element with the given element identfier ({@link Element#elementId}).
 	 * 
 	 * @param idElement
 	 *          element identifier
@@ -147,9 +147,9 @@ public interface Model {
 	Set<Reaction> getReactions();
 
 	/**
-	 * @return list of compartment aliases
+	 * @return list of compartments
 	 */
-	List<Compartment> getCompartmentsAliases();
+	List<Compartment> getCompartments();
 
 	/**
 	 * Adds layer to the model.
@@ -166,12 +166,12 @@ public interface Model {
 	Set<Layer> getLayers();
 
 	/**
-	 * Adds list of aliases into model.
+	 * Adds list of elements into model.
 	 * 
-	 * @param aliases
-	 *          list of aliases
+	 * @param elements
+	 *          list of elements
 	 */
-	void addAliases(List<? extends Element> aliases);
+	void addElements(List<? extends Element> elements);
 
 	/**
 	 * Sets new short description of the model.
@@ -207,10 +207,10 @@ public interface Model {
 	/**
 	 * Adds {@link ElementGroup} to the model.
 	 * 
-	 * @param aliasGroup
+	 * @param elementGroup
 	 *          object to add
 	 */
-	void addAliasGroup(ElementGroup aliasGroup);
+	void addElementGroup(ElementGroup elementGroup);
 
 	/**
 	 * Adds {@link BlockDiagram} to the model.
@@ -304,12 +304,12 @@ public interface Model {
 	void removeReaction(Reaction reaction);
 
 	/**
-	 * Removes alias from the model.
+	 * Removes {@link Element} from the model.
 	 * 
-	 * @param alias
-	 *          alias to remove
+	 * @param element
+	 *          element to remove
 	 */
-	void removeAlias(Element alias);
+	void removeElement(Element element);
 
 	/**
 	 * Returns list of reactions sorted by reaction id.
@@ -319,9 +319,9 @@ public interface Model {
 	List<Reaction> getSortedReactions();
 
 	/**
-	 * Return list of aliases sorted by the size.
+	 * Return list of elements sorted by the size.
 	 * 
-	 * @return list of aliases sorted by the size
+	 * @return list of elements sorted by the size
 	 */
 	List<Element> getSortedSpeciesList();
 
@@ -421,36 +421,36 @@ public interface Model {
 	Calendar getCreationDate();
 
 	/**
-	 * Returns alias for given database identifier.
+	 * Returns {@link Element} for given database identifier.
 	 * 
 	 * @param dbId
-	 *          alias database identifier ({@link Element#id})
-	 * @return alias for a given id
+	 *          element database identifier ({@link Element#id})
+	 * @return {@link Element} for a given id
 	 */
-	Element getAliasByDbId(Integer dbId);
+	Element getElementByDbId(Integer dbId);
 
 	/**
-	 * Returns reaction for given database identifier.
+	 * Returns {@link Reaction} for given database identifier.
 	 * 
 	 * @param dbId
 	 *          reaction database identifier ({@link Reaction#id})
-	 * @return reaction for a given id
+	 * @return {@link Reaction} for a given id
 	 */
 	Reaction getReactionByDbId(Integer dbId);
 
 	/**
-	 * Returns sorted by size list of aliases.
+	 * Returns sorted by size list of compartments.
 	 * 
-	 * @return list of aliases sorted by size
+	 * @return list of compartment sorted by size
 	 */
-	List<Compartment> getSortedCompartmentsAliases();
+	List<Compartment> getSortedCompartments();
 
 	/**
-	 * Returns list of aliases sorted by the size.
+	 * Returns list of elements sorted by the size.
 	 * 
-	 * @return list of aliases sorted by the size
+	 * @return list of elements sorted by the size
 	 */
-	List<Element> getAliasesSortedBySize();
+	List<Element> getElementsSortedBySize();
 
 	/**
 	 * 
@@ -467,10 +467,10 @@ public interface Model {
 
 	/**
 	 * 
-	 * @param aliases
-	 *          new {@link ModelData#aliases} collection
+	 * @param elements
+	 *          new {@link ModelData#elements} collection
 	 */
-	void setAliases(Set<Element> aliases);
+	void setElements(Set<Element> elements);
 
 	/**
 	 * @return the modelData
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
index 794fab0ab6..7c6703c3ff 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
@@ -143,9 +143,9 @@ public class ModelComparator implements Comparator<Model> {
 			return integerComparator.compare(arg0.getTileSize(), arg1.getTileSize());
 		}
 
-		int status = compareAliases(arg0.getAliases(), arg1.getAliases());
+		int status = compareElements(arg0.getElements(), arg1.getElements());
 		if (status != 0) {
-			logger.debug("Set of aliases different");
+			logger.debug("Set of elements different");
 			return status;
 		}
 
@@ -335,46 +335,46 @@ public class ModelComparator implements Comparator<Model> {
 	}
 
 	/**
-	 * Compares two sets of aliases.
+	 * Compares two sets of elements.
 	 * 
-	 * @param aliases
-	 *          first set of aliases
-	 * @param aliases2
-	 *          second set of aliases
+	 * @param elements
+	 *          first set of elements
+	 * @param elements2
+	 *          second set of elements
 	 * @return if sets are equal then returns 0. If they are different then -1/1
 	 *         is returned.
 	 */
-	private int compareAliases(Set<Element> aliases, Set<Element> aliases2) {
-		ElementComparator aliasComparator = new ElementComparator(epsilon);
+	private int compareElements(Set<Element> elements, Set<Element> elements2) {
+		ElementComparator elementComparator = new ElementComparator(epsilon);
 
-		Map<String, Element> map1 = new HashMap<String, Element>();
-		Map<String, Element> map2 = new HashMap<String, Element>();
+		Map<String, Element> map1 = new HashMap<>();
+		Map<String, Element> map2 = new HashMap<>();
 
-		if (aliases.size() != aliases2.size()) {
-			logger.debug("Number of aliases different: " + aliases.size() + ", " + aliases2.size());
-			return ((Integer) aliases.size()).compareTo(aliases2.size());
+		if (elements.size() != elements2.size()) {
+			logger.debug("Number of elements different: " + elements.size() + ", " + elements2.size());
+			return ((Integer) elements.size()).compareTo(elements2.size());
 		}
 
-		for (Element alias : aliases) {
-			map1.put(alias.getElementId(), alias);
+		for (Element element : elements) {
+			map1.put(element.getElementId(), element);
 		}
 
-		for (Element alias : aliases2) {
-			map2.put(alias.getElementId(), alias);
+		for (Element element : elements2) {
+			map2.put(element.getElementId(), element);
 		}
 
-		for (Element alias : aliases) {
-			int status = aliasComparator.compare(alias, map2.get(alias.getElementId()));
+		for (Element element : elements) {
+			int status = elementComparator.compare(element, map2.get(element.getElementId()));
 			if (status != 0) {
-				logger.debug("Alias doesn't have a match: " + alias.getElementId() + ", " + map2.get(alias.getElementId()));
+				logger.debug("Element doesn't have a match: " + element.getElementId() + ", " + map2.get(element.getElementId()));
 				return status;
 			}
 		}
 
-		for (Element alias : aliases2) {
-			int status = aliasComparator.compare(alias, map1.get(alias.getElementId()));
+		for (Element element : elements2) {
+			int status = elementComparator.compare(element, map1.get(element.getElementId()));
 			if (status != 0) {
-				logger.debug("Alias doesn't have a match: " + alias.getElementId() + ", " + map2.get(alias.getElementId()));
+				logger.debug("Element doesn't have a match: " + element.getElementId() + ", " + map2.get(element.getElementId()));
 				return status;
 			}
 		}
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 8fa6222607..c957eea007 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
@@ -41,7 +41,6 @@ import lcsb.mapviewer.model.map.species.Element;
  * map:
  * <ul>
  * <li>species and compartments ({@link #elements} field)</li>
- * <li>aliases for species and compartments ({@link #aliases} field)</li>
  * <li>list of reactions ({@link #reactions})</li>
  * <li>layers with additional graphical objects ({@link #layers})</li>
  * <li>different graphical visualizations of the whole map ({@link #layouts})
@@ -67,13 +66,13 @@ public class ModelData implements Serializable {
 	private static Logger								 logger						= Logger.getLogger(ModelData.class);
 
 	/**
-	 * Set of all aliases in the map.
+	 * Set of all elements in the map.
 	 * 
 	 * @see Element
 	 */
 	@Cascade({ CascadeType.ALL })
 	@OneToMany(mappedBy = "model", orphanRemoval = true)
-	private Set<Element>									 aliases					= new HashSet<Element>();
+	private Set<Element>								 elements					= new HashSet<>();
 
 	/**
 	 * Set of all layers in the map.
@@ -230,14 +229,14 @@ public class ModelData implements Serializable {
 	}
 
 	/**
-	 * Adds alias to model data.
+	 * Adds {@link Element} to model data.
 	 * 
-	 * @param al
-	 *          alias to add
+	 * @param element
+	 *          element to add
 	 */
-	public void addAlias(Element al) {
-		al.setModelData(this);
-		aliases.add(al);
+	public void addElement(Element element) {
+		element.setModelData(this);
+		elements.add(element);
 	}
 
 	/**
@@ -263,14 +262,14 @@ public class ModelData implements Serializable {
 	}
 
 	/**
-	 * Adds collection of {@link Element aliases} to model data.
+	 * Adds collection of {@link Element elements} to model data.
 	 * 
-	 * @param aliases
-	 *          aliases to add
+	 * @param elements
+	 *          elements to add
 	 */
-	public void addAliases(List<? extends Element> aliases) {
-		for (Element alias : aliases) {
-			addAlias(alias);
+	public void addElements(List<? extends Element> elements) {
+		for (Element element : elements) {
+			addElement(element);
 		}
 	}
 
@@ -293,11 +292,11 @@ public class ModelData implements Serializable {
 
 	/**
 	 * 
-	 * @param aliases
-	 *          new {@link #aliases} collection
+	 * @param elements
+	 *          new {@link #elements} collection
 	 */
-	public void setAliases(Set<Element> aliases) {
-		this.aliases = aliases;
+	public void setElements(Set<Element> elements) {
+		this.elements = elements;
 	}
 
 	/**
@@ -428,10 +427,10 @@ public class ModelData implements Serializable {
 	/**
 	 * Adds {@link ElementGroup} to the model data.
 	 * 
-	 * @param aliasGroup
+	 * @param elementGroup
 	 *          object to add
 	 */
-	public void addAliasGroup(ElementGroup aliasGroup) {
+	public void addElementGroup(ElementGroup elementGroup) {
 		// for now we ignore this information
 	}
 
@@ -446,22 +445,22 @@ public class ModelData implements Serializable {
 	}
 
 	/**
-	 * Removes alias from the model.
+	 * Removes {@link Element} from the model.
 	 * 
-	 * @param alias
-	 *          alias to remove
+	 * @param element
+	 *          element to remove
 	 */
-	public void removeAlias(Element alias) {
-		if (alias == null) {
+	public void removeElement(Element element) {
+		if (element == null) {
 			throw new InvalidArgumentException("Cannot remove null");
 		}
-		if (!aliases.contains(alias)) {
-			logger.warn("Alias doesn't exist in the map: " + alias.getElementId());
+		if (!elements.contains(element)) {
+			logger.warn("Element doesn't exist in the map: " + element.getElementId());
 			return;
 		}
 
-		alias.setModelData(null);
-		aliases.remove(alias);
+		element.setModelData(null);
+		elements.remove(element);
 	}
 
 	/**
@@ -634,11 +633,11 @@ public class ModelData implements Serializable {
 	}
 
 	/**
-	 * @return the aliases
-	 * @see #aliases
+	 * @return the elements
+	 * @see #elements
 	 */
-	public Set<Element> getAliases() {
-		return aliases;
+	public Set<Element> getElements() {
+		return elements;
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
index 72eeeed647..266d4f01cd 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
@@ -28,8 +28,8 @@ import lcsb.mapviewer.model.map.layout.ElementGroup;
 import lcsb.mapviewer.model.map.layout.Layout;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
 import lcsb.mapviewer.model.map.reaction.Reaction;
-import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Complex;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -48,27 +48,28 @@ public class ModelFullIndexed implements Model {
 	private static Logger					 logger								= Logger.getLogger(ModelFullIndexed.class);
 
 	/**
-	 * Object that map {@link Element#aliasId alias identifier} into {@link Element}.
+	 * Object that map {@link Element#elementId element identifier} into
+	 * {@link Element}.
 	 */
-	private Map<String, Element>		 aliasByAliasId				= new HashMap<String, Element>();
+	private Map<String, Element>	 elementByElementId		= new HashMap<>();
 
 	/**
-	 * Object that map {@link Element#id alias database identifier} into
+	 * Object that map {@link Element#id element database identifier} into
 	 * {@link Element}.
 	 */
-	private Map<Integer, Element>		 aliasByDbId					= new HashMap<Integer, Element>();
+	private Map<Integer, Element>	 elementByDbId				= new HashMap<>();
 
 	/**
 	 * Object that map {@link Reaction#idReaction reaction identifier} into
 	 * {@link Reaction}.
 	 */
-	private Map<String, Reaction>	 reactionByReactionId	= new HashMap<String, Reaction>();
+	private Map<String, Reaction>	 reactionByReactionId	= new HashMap<>();
 
 	/**
 	 * Object that map {@link Reaction#id reaction database identifier} into
 	 * {@link Reaction}.
 	 */
-	private Map<Integer, Reaction> reactionByDbId				= new HashMap<Integer, Reaction>();
+	private Map<Integer, Reaction> reactionByDbId				= new HashMap<>();
 
 	/**
 	 * {@link ModelData} object containing "raw" data about the model.
@@ -86,9 +87,9 @@ public class ModelFullIndexed implements Model {
 			this.modelData = new ModelData();
 		} else {
 			this.modelData = model;
-			for (Element alias : model.getAliases()) {
-				aliasByAliasId.put(alias.getElementId(), alias);
-				aliasByDbId.put(alias.getId(), alias);
+			for (Element element : model.getElements()) {
+				elementByElementId.put(element.getElementId(), element);
+				elementByDbId.put(element.getId(), element);
 			}
 			for (Reaction reaction : model.getReactions()) {
 				reactionByReactionId.put(reaction.getIdReaction(), reaction);
@@ -118,30 +119,13 @@ public class ModelFullIndexed implements Model {
 		if (element.getElementId() == null || element.getElementId().isEmpty()) {
 			throw new InvalidArgumentException("Element identifier cannot be empty");
 		}
-		if (element instanceof Species) {
-			addSpecies((Species) element);
-		} else if (element instanceof Compartment) {
-			addCompartmentAlias((Compartment) element);
-		} else {
-			throw new InvalidArgumentException("Unknown type of element: " + element);
-		}
-	}
-
-	/**
-	 * Adds {@link Species} to the model.
-	 * 
-	 * @param species
-	 *          alias to add
-	 */
-	private void addSpecies(Species species) {
-		modelData.addAlias(species);
-
-		Element alias2 = aliasByAliasId.get(species.getElementId());
-		if (alias2 == null) {
-			aliasByAliasId.put(species.getElementId(), species);
-			aliasByDbId.put(species.getId(), species);
+		Element element2 = elementByElementId.get(element.getElementId());
+		if (element2 == null) {
+			modelData.addElement(element);
+			elementByElementId.put(element.getElementId(), element);
+			elementByDbId.put(element.getId(), element);
 		} else {
-			throw new InvalidArgumentException("Species with duplicated id: " + species.getElementId());
+			throw new InvalidArgumentException("Element with duplicated id: " + element.getElementId());
 		}
 	}
 
@@ -186,14 +170,14 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public Set<Element> getAliases() {
-		return modelData.getAliases();
+	public Set<Element> getElements() {
+		return modelData.getElements();
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public <T extends Element> T getElementByElementId(String idAlias) {
-		return (T) aliasByAliasId.get(idAlias);
+	public <T extends Element> T getElementByElementId(String elementId) {
+		return (T) elementByElementId.get(elementId);
 	}
 
 	@Override
@@ -208,29 +192,12 @@ public class ModelFullIndexed implements Model {
 		return modelData.getReactions();
 	}
 
-	/**
-	 * Adds compartment alias.
-	 * 
-	 * @param al
-	 *          alias to add
-	 */
-	private void addCompartmentAlias(Compartment al) {
-		modelData.addAlias(al);
-		Element alias2 = aliasByAliasId.get(al.getElementId());
-		if (alias2 == null) {
-			aliasByAliasId.put(al.getElementId(), al);
-			aliasByDbId.put(al.getId(), al);
-		} else {
-			throw new InvalidArgumentException("Try to add CompartmentAlias with duplicated alias id: " + al.getElementId());
-		}
-	}
-
 	@Override
-	public List<Compartment> getCompartmentsAliases() {
+	public List<Compartment> getCompartments() {
 		List<Compartment> result = new ArrayList<Compartment>();
-		for (Element alias : modelData.getAliases()) {
-			if (alias instanceof Compartment) {
-				result.add((Compartment) alias);
+		for (Element element : modelData.getElements()) {
+			if (element instanceof Compartment) {
+				result.add((Compartment) element);
 			}
 		}
 		return result;
@@ -247,9 +214,9 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public void addAliases(List<? extends Element> aliases) {
-		for (Element alias : aliases) {
-			addElement(alias);
+	public void addElements(List<? extends Element> elements) {
+		for (Element element : elements) {
+			addElement(element);
 		}
 	}
 
@@ -267,8 +234,8 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public void setAliases(Set<Element> aliases) {
-		this.modelData.setAliases(aliases);
+	public void setElements(Set<Element> elements) {
+		this.modelData.setElements(elements);
 	}
 
 	@Override
@@ -287,16 +254,16 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public List<Element> getAliasesSortedBySize() {
-		List<Element> sortedAliases = new ArrayList<Element>();
-		sortedAliases.addAll(getAliases());
-		Collections.sort(sortedAliases, Element.SIZE_COMPARATOR);
-		return sortedAliases;
+	public List<Element> getElementsSortedBySize() {
+		List<Element> sortedElements = new ArrayList<>();
+		sortedElements.addAll(getElements());
+		Collections.sort(sortedElements, Element.SIZE_COMPARATOR);
+		return sortedElements;
 	}
 
 	@Override
-	public List<Compartment> getSortedCompartmentsAliases() {
-		List<Compartment> result = getCompartmentsAliases();
+	public List<Compartment> getSortedCompartments() {
+		List<Compartment> result = getCompartments();
 		Collections.sort(result, Element.SIZE_COMPARATOR);
 		return result;
 	}
@@ -307,8 +274,8 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public Element getAliasByDbId(Integer dbId) {
-		return aliasByDbId.get(dbId);
+	public Element getElementByDbId(Integer dbId) {
+		return elementByDbId.get(dbId);
 	}
 
 	@Override
@@ -348,11 +315,11 @@ public class ModelFullIndexed implements Model {
 
 	@Override
 	public Set<AnnotatedObject> getElementsByAnnotation(MiriamData miriamData) {
-		Set<AnnotatedObject> result = new HashSet<AnnotatedObject>();
-		for (Element alias : getAliases()) {
-			for (MiriamData md : alias.getMiriamData()) {
+		Set<AnnotatedObject> result = new HashSet<>();
+		for (Element element : getElements()) {
+			for (MiriamData md : element.getMiriamData()) {
 				if (md.equals(miriamData)) {
-					result.add(alias);
+					result.add(element);
 				}
 			}
 		}
@@ -377,10 +344,10 @@ public class ModelFullIndexed implements Model {
 
 	@Override
 	public Collection<Complex> getComplexList() {
-		List<Complex> result = new ArrayList<Complex>();
-		for (Element alias : modelData.getAliases()) {
-			if (alias instanceof Complex) {
-				result.add((Complex) alias);
+		List<Complex> result = new ArrayList<>();
+		for (Element element : modelData.getElements()) {
+			if (element instanceof Complex) {
+				result.add((Complex) element);
 			}
 		}
 		return result;
@@ -388,10 +355,10 @@ public class ModelFullIndexed implements Model {
 
 	@Override
 	public Collection<Species> getNotComplexSpeciesList() {
-		List<Species> result = new ArrayList<Species>();
-		for (Element alias : modelData.getAliases()) {
-			if (alias instanceof Species && !(alias instanceof Complex)) {
-				result.add((Species) alias);
+		List<Species> result = new ArrayList<>();
+		for (Element element : modelData.getElements()) {
+			if (element instanceof Species && !(element instanceof Complex)) {
+				result.add((Species) element);
 			}
 		}
 		return result;
@@ -407,7 +374,7 @@ public class ModelFullIndexed implements Model {
 	@Override
 	public List<Element> getSortedSpeciesList() {
 		List<Element> result = new ArrayList<Element>();
-		result.addAll(getAliases());
+		result.addAll(getElements());
 		Collections.sort(result, Element.SIZE_COMPARATOR);
 		return result;
 	}
@@ -431,8 +398,8 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public void addAliasGroup(ElementGroup aliasGroup) {
-		modelData.addAliasGroup(aliasGroup);
+	public void addElementGroup(ElementGroup elementGroup) {
+		modelData.addElementGroup(elementGroup);
 	}
 
 	@Override
@@ -441,33 +408,33 @@ public class ModelFullIndexed implements Model {
 	}
 
 	@Override
-	public void removeAlias(Element alias) {
-		modelData.removeAlias(alias);
-		aliasByAliasId.remove(alias.getElementId());
-		aliasByDbId.remove(alias.getId());
+	public void removeElement(Element element) {
+		modelData.removeElement(element);
+		elementByElementId.remove(element.getElementId());
+		elementByDbId.remove(element.getId());
 
-		if (alias.getParent() != null) {
-			if (alias.getParent() instanceof Compartment) {
-				Compartment ca = (Compartment) alias.getParent();
-				ca.removeElement(alias);
-			} else if (alias.getParent() instanceof Complex) {
-				Complex ca = (Complex) alias.getParent();
-				ca.removeAlias((Species) alias);
+		if (element.getParent() != null) {
+			if (element.getParent() instanceof Compartment) {
+				Compartment ca = (Compartment) element.getParent();
+				ca.removeElement(element);
+			} else if (element.getParent() instanceof Complex) {
+				Complex ca = (Complex) element.getParent();
+				ca.removeElement((Species) element);
 			} else {
-				throw new InvalidArgumentException("Unknown type of alias parent: " + alias.getParent().getClass().getName());
+				throw new InvalidArgumentException("Unknown type of parent: " + element.getParent().getClass().getName());
 			}
 		}
 
-		if (alias.getCompartmentAlias() != null) {
-			Compartment ca = alias.getCompartmentAlias();
-			ca.removeElement(alias);
+		if (element.getCompartment() != null) {
+			Compartment ca = element.getCompartment();
+			ca.removeElement(element);
 		}
 
-		if (alias instanceof Species) {
-			Species al = (Species) alias;
-			if (al.getComplexAlias() != null) {
-				Complex ca = ((Species) alias).getComplexAlias();
-				ca.removeAlias(al);
+		if (element instanceof Species) {
+			Species al = (Species) element;
+			if (al.getComplex() != null) {
+				Complex ca = ((Species) element).getComplex();
+				ca.removeElement(al);
 			}
 		}
 	}
@@ -734,7 +701,7 @@ public class ModelFullIndexed implements Model {
 	@Override
 	public List<AnnotatedObject> getAnnotatedObjects() {
 		List<AnnotatedObject> result = new ArrayList<>();
-		result.addAll(getAliases());
+		result.addAll(getElements());
 		result.addAll(getReactions());
 		return result;
 	}
@@ -755,7 +722,7 @@ public class ModelFullIndexed implements Model {
 	@Override
 	public List<Element> getElementsByName(String name) {
 		List<Element> result = new ArrayList<>();
-		for (Element element : getAliases()) {
+		for (Element element : getElements()) {
 			if (element.getName().equalsIgnoreCase(name)) {
 				result.add(element);
 			}
@@ -766,7 +733,7 @@ public class ModelFullIndexed implements Model {
 	@Override
 	public List<Species> getSpeciesList() {
 		List<Species> result = new ArrayList<>();
-		for (Element element : modelData.getAliases()) {
+		for (Element element : modelData.getElements()) {
 			if (element instanceof Species) {
 				result.add((Species) element);
 			}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java
index 3e0ef5e503..b4227814d4 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java
@@ -35,7 +35,7 @@ public class SubmodelConnectionComparator implements Comparator<SubmodelConnecti
 	public SubmodelConnectionComparator(double epsilon) {
 		this.epsilon = epsilon;
 		modelSubmodelConnectionComparator = new ModelSubmodelConnectionComparator(epsilon);
-		aliasSubmodelConnectionComparator = new AliasSubmodelConnectionComparator(epsilon);
+		elementSubmodelConnectionComparator = new ElementSubmodelConnectionComparator(epsilon);
 	}
 
 	/**
@@ -44,9 +44,9 @@ public class SubmodelConnectionComparator implements Comparator<SubmodelConnecti
 	private ModelSubmodelConnectionComparator	modelSubmodelConnectionComparator	= null;
 
 	/**
-	 * Comparator used to compare {@link AliasSubmodelConnection} subclasses.
+	 * Comparator used to compare {@link ElementSubmodelConnection} subclasses.
 	 */
-	private AliasSubmodelConnectionComparator	aliasSubmodelConnectionComparator	= null;
+	private ElementSubmodelConnectionComparator	elementSubmodelConnectionComparator	= null;
 
 	/**
 	 * Default constructor.
@@ -60,7 +60,7 @@ public class SubmodelConnectionComparator implements Comparator<SubmodelConnecti
 	 * {@link SubmodelConnection} class in inheritence tree. It should be called
 	 * by the super class comparators, like
 	 * {@link ModelSubmodelConnectionComparator} and
-	 * {@link AliasSubmodelConnectionComparator}.
+	 * {@link ElementSubmodelConnectionComparator}.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -137,8 +137,8 @@ public class SubmodelConnectionComparator implements Comparator<SubmodelConnecti
 		if (arg0.getClass().equals(arg1.getClass())) {
 			if (arg0 instanceof ModelSubmodelConnection) {
 				return modelSubmodelConnectionComparator.compare((ModelSubmodelConnection) arg0, (ModelSubmodelConnection) arg1);
-			} else if (arg0 instanceof AliasSubmodelConnection) {
-				return aliasSubmodelConnectionComparator.compare((AliasSubmodelConnection) arg0, (AliasSubmodelConnection) arg1);
+			} else if (arg0 instanceof ElementSubmodelConnection) {
+				return elementSubmodelConnectionComparator.compare((ElementSubmodelConnection) arg0, (ElementSubmodelConnection) arg1);
 			} else {
 				throw new NotImplementedException("Don't know how to compare classes: " + arg0.getClass());
 			}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java
index 5d7b8bd08c..d5fa8d1a50 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java
@@ -30,13 +30,13 @@ public class Catalysis extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates Catalysis modifier for given alias and element.
+	 * Constructor that creates {@link Catalysis} modifier for given element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public Catalysis(Species alias) {
-		super(alias);
+	public Catalysis(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java
index e38d9682b1..5eb71a10f1 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java
@@ -30,13 +30,13 @@ public class Inhibition extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates inhibition modifier for given alias and element.
+	 * Constructor that creates inhibition modifier for given element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public Inhibition(Species alias) {
-		super(alias);
+	public Inhibition(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java
index 5c9c4001eb..3cc706b094 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java
@@ -30,13 +30,13 @@ public class Modulation extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates modulation modifier for given alias and element.
+	 * Constructor that creates modulation modifier for given element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public Modulation(Species alias) {
-		super(alias);
+	public Modulation(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java
index 24458c841f..ca7fcb28cc 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java
@@ -30,14 +30,13 @@ public class PhysicalStimulation extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates physical stimulation modifier for given alias and
-	 * element.
+	 * Constructor that creates physical stimulation modifier for given element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public PhysicalStimulation(Species alias) {
-		super(alias);
+	public PhysicalStimulation(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java
index f90175e634..642f15c1b4 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java
@@ -30,13 +30,13 @@ public class Trigger extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates trigger modifier for given alias and element.
+	 * Constructor that creates trigger modifier for given element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public Trigger(Species alias) {
-		super(alias);
+	public Trigger(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java
index cf6f506ea3..eba97a06f2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java
@@ -30,14 +30,13 @@ public class UnknownCatalysis extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates unknown catalysis modifier for given alias and
-	 * element.
+	 * Constructor that creates unknown catalysis modifier for given element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public UnknownCatalysis(Species alias) {
-		super(alias);
+	public UnknownCatalysis(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java
index 7bfde19c0c..938249078a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java
@@ -30,14 +30,14 @@ public class UnknownInhibition extends Modifier {
 	}
 
 	/**
-	 * Constructor that creates unknown inhibition modifier for given alias and
+	 * Constructor that creates unknown inhibition modifier for given and
 	 * element.
 	 * 
-	 * @param alias
-	 *          alias object to which this modifiar is assigned
+	 * @param element
+	 *          element object to which this modifiar is assigned
 	 */
-	public UnknownInhibition(Species alias) {
-		super(alias);
+	public UnknownInhibition(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java
index cda54b65e2..d97dba4887 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java
@@ -35,11 +35,11 @@ public class Modifier extends ReactionNode {
 	 * {@link lcsb.mapviewer.model.map.model.db.model.map.Model Model} that
 	 * represents this modifier.
 	 * 
-	 * @param alias
-	 *          alias that represent this modifier
+	 * @param element
+	 *          element that represent this modifier
 	 */
-	public Modifier(Species alias) {
-		super(alias);
+	public Modifier(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Product.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Product.java
index 9fa4bd9850..7513f79195 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Product.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Product.java
@@ -34,11 +34,11 @@ public class Product extends ReactionNode {
 	 * {@link lcsb.mapviewer.model.map.model.db.model.map.Model Model} that
 	 * represents this product.
 	 * 
-	 * @param alias
-	 *          alias that represent this product
+	 * @param element
+	 *          element that represent this product
 	 */
-	public Product(Species alias) {
-		super(alias);
+	public Product(Species element) {
+		super(element);
 	}
 
 	/**
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reactant.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reactant.java
index 1fbd827ef7..4484a4bc15 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reactant.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reactant.java
@@ -34,11 +34,11 @@ public class Reactant extends ReactionNode {
 	 * {@link lcsb.mapviewer.model.map.model.db.model.map.Model Model} that
 	 * represents this reactant.
 	 * 
-	 * @param alias
-	 *          alias that represent this reactant
+	 * @param element
+	 *          element that represent this reactant
 	 */
-	public Reactant(Species alias) {
-		super(alias);
+	public Reactant(Species element) {
+		super(element);
 	}
 
 	/**
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 8b89218bf3..c13687aaf4 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
@@ -416,7 +416,7 @@ public class Reaction implements AnnotatedObject {
 	public int getVisibilityLevel() {
 		int level = 0;
 		for (ReactionNode node : getReactionNodes()) {
-			level = Math.max(level, node.getAlias().getVisibilityLevel());
+			level = Math.max(level, node.getElement().getVisibilityLevel());
 		}
 		return level;
 	}
@@ -516,14 +516,14 @@ public class Reaction implements AnnotatedObject {
 	/**
 	 * Check if one of the nodes reference to the element.
 	 * 
-	 * @param alias
+	 * @param element
 	 *          element to be checked
 	 * @return <code>true</code> if element is part of the reaction,
 	 *         <code>false</code> otherwise
 	 */
-	public boolean containsElement(Element alias) {
+	public boolean containsElement(Element element) {
 		for (ReactionNode node : getReactionNodes()) {
-			if (node.getAlias().equals(alias)) {
+			if (node.getElement().equals(element)) {
 				return true;
 			}
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNode.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNode.java
index 6ed59c1df0..59d895dc48 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNode.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNode.java
@@ -8,9 +8,9 @@ import lcsb.mapviewer.model.map.species.Element;
 
 /**
  * One of two known types of nodes in the {@link Reaction}. It defines input or
- * output element of the reaction in the map model. {@link #element} and
- * {@link #alias} define which element on the map correspond to this node. There
- * are three known subclasses:
+ * output element of the reaction in the map model. {@link #element} define
+ * which element on the map correspond to this node. There are three known
+ * subclasses:
  * <ul>
  * <li>{@link Reactant} - input of the reaction,</li>
  * <li>{@link Product} - output of the reaction,</li>
@@ -31,10 +31,10 @@ public abstract class ReactionNode extends AbstractNode {
 	private static final long	serialVersionUID = 1L;
 
 	/**
-	 * {@link SpecisAlias} that represents this node in the model.
+	 * {@link Element} that represents this node in the model.
 	 */
 	@ManyToOne
-	private Element							alias;
+	private Element						element;
 
 	/**
 	 * Default constructor.
@@ -51,35 +51,34 @@ public abstract class ReactionNode extends AbstractNode {
 	 */
 	protected ReactionNode(ReactionNode node) {
 		super(node);
-		this.alias = node.getAlias();
+		this.element = node.getElement();
 	}
 
 	/**
-	 * Constructor that creates node for given {@link #alias} and {@link #element}
-	 * .
+	 * Constructor that creates node for given {@link #element}.
 	 * 
-	 * @param alias
+	 * @param element
 	 *          {@link Element} to which this node refer to
 	 */
-	public ReactionNode(Element alias) {
-		this.alias = alias;
+	public ReactionNode(Element element) {
+		this.element = element;
 	}
 
 	/**
-	 * @return the alias
-	 * @see #alias
+	 * @return the element
+	 * @see #element
 	 */
-	public Element getAlias() {
-		return alias;
+	public Element getElement() {
+		return element;
 	}
 
 	/**
-	 * @param alias
-	 *          the alias to set
-	 * @see #alias
+	 * @param element
+	 *          the element to set
+	 * @see #element
 	 */
-	public void setAlias(Element alias) {
-		this.alias = alias;
+	public void setElement(Element element) {
+		this.element = element;
 	}
 
 }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java
index 0e2d008e73..5c22f84476 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java
@@ -77,16 +77,16 @@ public class ReactionNodeComparator implements Comparator<ReactionNode> {
 	 */
 	private int internalCompare(ReactionNode arg0, ReactionNode arg1) {
 		AbstractNodeComparator anComparator = new AbstractNodeComparator(epsilon);
-		ElementComparator aliasComparator = new ElementComparator(epsilon);
+		ElementComparator elementComparator = new ElementComparator(epsilon);
 
 		int result = anComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
 
-		if (aliasComparator.compare(arg0.getAlias(), arg1.getAlias()) != 0) {
-			logger.debug("Alias different");
-			return aliasComparator.compare(arg0.getAlias(), arg1.getAlias());
+		if (elementComparator.compare(arg0.getElement(), arg1.getElement()) != 0) {
+			logger.debug("Element different");
+			return elementComparator.compare(arg0.getElement(), arg1.getElement());
 		}
 
 		return 0;
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java
index 779352ff3a..2208709e2d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java
@@ -71,12 +71,12 @@ public class AntisenseRna extends Species {
 	/**
 	 * Adds {@link AntisenseRnaRegion} to the object.
 	 * 
-	 * @param antisenseRnaRegionAlias
+	 * @param antisenseRnaRegion
 	 *          alement to be added
 	 */
-	public void addRegion(AntisenseRnaRegion antisenseRnaRegionAlias) {
-		regions.add(antisenseRnaRegionAlias);
-		antisenseRnaRegionAlias.setSpecies(this);
+	public void addRegion(AntisenseRnaRegion antisenseRnaRegion) {
+		regions.add(antisenseRnaRegion);
+		antisenseRnaRegion.setSpecies(this);
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java
index e7dfa3ef10..e5c2a69cfb 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java
@@ -71,9 +71,9 @@ public class AntisenseRnaComparator implements Comparator<AntisenseRna> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in AntisenseRnaAlias
-	 * class in inheritence tree. By the design it calls also comparator of the
-	 * upper (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in
+	 * {@link AntisenseRna} class in inheritence tree. By the design it calls also
+	 * comparator of the upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -83,8 +83,8 @@ public class AntisenseRnaComparator implements Comparator<AntisenseRna> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(AntisenseRna arg0, AntisenseRna arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java
index c9d1bb5ff3..ec844f1f27 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java
@@ -29,12 +29,12 @@ public class ChemicalComparator implements Comparator<Chemical> {
 	/**
 	 * Comparator for {@link Ion} implementation of {@link Chemical}.
 	 */
-	private IonComparator						 ionAliasComparator;
+	private IonComparator						 ionComparator;
 
 	/**
 	 * Comparator for {@link SimpleMolecule} implementation of {@link Chemical}.
 	 */
-	private SimpleMoleculeComparator simpleMoleculeAliasComparator;
+	private SimpleMoleculeComparator simpleMoleculeComparator;
 
 	/**
 	 * Constructor that requires {@link #epsilon} parameter.
@@ -44,8 +44,8 @@ public class ChemicalComparator implements Comparator<Chemical> {
 	 */
 	public ChemicalComparator(double epsilon) {
 		this.epsilon = epsilon;
-		ionAliasComparator = new IonComparator(epsilon);
-		simpleMoleculeAliasComparator = new SimpleMoleculeComparator(epsilon);
+		ionComparator = new IonComparator(epsilon);
+		simpleMoleculeComparator = new SimpleMoleculeComparator(epsilon);
 	}
 
 	/**
@@ -69,9 +69,9 @@ public class ChemicalComparator implements Comparator<Chemical> {
 
 		if (arg0.getClass().equals(arg1.getClass())) {
 			if (arg0.getClass().equals(Ion.class)) {
-				return ionAliasComparator.compare((Ion) arg0, (Ion) arg1);
+				return ionComparator.compare((Ion) arg0, (Ion) arg1);
 			} else if (arg0.getClass().equals(SimpleMolecule.class)) {
-				return simpleMoleculeAliasComparator.compare((SimpleMolecule) arg0, (SimpleMolecule) arg1);
+				return simpleMoleculeComparator.compare((SimpleMolecule) arg0, (SimpleMolecule) arg1);
 			} else {
 				throw new NotImplementedException("Don't know how to compare classes: " + arg0.getClass());
 			}
@@ -81,9 +81,9 @@ public class ChemicalComparator implements Comparator<Chemical> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in ChemicalAlias
+	 * This method compares only the fields that are defined in {@link Chemical}
 	 * class in inheritence tree. By the design it calls also comparator of the
-	 * upper (SpeciesAlias) class.
+	 * upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -93,8 +93,8 @@ public class ChemicalComparator implements Comparator<Chemical> {
 	 *         -1/1 is returned.
 	 */
 	int internalCompare(Chemical arg0, Chemical arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java
index 6d63bf94fd..c1320b9e93 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java
@@ -24,7 +24,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
  * 
  */
 @Entity
-@DiscriminatorValue("Complex Species Alias")
+@DiscriminatorValue("Complex")
 public class Complex extends Species {
 
 	/**
@@ -38,12 +38,12 @@ public class Complex extends Species {
 	private static Logger			logger					 = Logger.getLogger(Complex.class);
 
 	/**
-	 * List of aliases that are in this complex alias (only aliases that lies
-	 * there directly).
+	 * List of elements that are in this complex (only elements that lies there
+	 * directly).
 	 */
 	@Cascade({ CascadeType.ALL })
-	@OneToMany(fetch = FetchType.EAGER, mappedBy = "complexAlias")
-	private List<Species>			aliases					 = new ArrayList<>();
+	@OneToMany(fetch = FetchType.EAGER, mappedBy = "complex")
+	private List<Species>			elements				 = new ArrayList<>();
 
 	/**
 	 * State of the complex species.
@@ -62,13 +62,13 @@ public class Complex extends Species {
 	 * parameter.
 	 * 
 	 * @param original
-	 *          original alias used for initialization
+	 *          original complex used for initialization
 	 */
 	public Complex(Complex original) {
 		super(original);
 
-		for (Species alias : original.getAliases()) {
-			addAlias(alias.copy());
+		for (Species element : original.getElements()) {
+			addSpecies(element.copy());
 		}
 		this.structuralState = original.getStructuralState();
 	}
@@ -84,46 +84,46 @@ public class Complex extends Species {
 	}
 
 	/**
-	 * Adds alias to the complex.
+	 * Adds {@link Species} to the complex.
 	 * 
-	 * @param alias
+	 * @param species
 	 *          object to add
 	 */
-	public void addAlias(Species alias) {
+	public void addSpecies(Species species) {
 		boolean contains = false;
-		for (Species alias2 : aliases) {
-			if (alias.getElementId().equals(alias2.getElementId())) {
+		for (Species element2 : elements) {
+			if (species.getElementId().equals(element2.getElementId())) {
 				contains = true;
 			}
 
 		}
 		if (!contains) {
-			aliases.add(alias);
-			alias.setComplexAlias(this);
+			elements.add(species);
+			species.setComplex(this);
 		}
 	}
 
 	/**
-	 * Returns list of aliases.
+	 * Returns list of elements.
 	 * 
-	 * @return list of aliases insied complexAlias.
+	 * @return list of element inside complex
 	 */
-	public List<Species> getAliases() {
-		return aliases;
+	public List<Species> getElements() {
+		return elements;
 	}
 
 	/**
-	 * Returns list of all aliases that lies inside complex alias (direct and
+	 * Returns list of all {@link Species} that lies inside complex (direct and
 	 * undirect).
 	 * 
-	 * @return list of all aliases insied complex alias.
+	 * @return list of all {@link Species} inside {@link Complex}
 	 */
-	public List<Species> getAllChildrenAliases() {
-		List<Species> result = new ArrayList<Species>();
-		result.addAll(aliases);
-		for (Species speciesAlias : aliases) {
-			if (speciesAlias instanceof Complex) {
-				result.addAll(((Complex) speciesAlias).getAllChildrenAliases());
+	public List<Species> getAllChildren() {
+		List<Species> result = new ArrayList<>();
+		result.addAll(elements);
+		for (Species species : elements) {
+			if (species instanceof Complex) {
+				result.addAll(((Complex) species).getAllChildren());
 			}
 		}
 		return result;
@@ -140,16 +140,16 @@ public class Complex extends Species {
 	}
 
 	/**
-	 * Removes alias from the complex alias.
+	 * Removes {@link Species} from the complex.
 	 * 
-	 * @param alias
+	 * @param element
 	 *          object to remove
 	 */
-	public void removeAlias(Species alias) {
-		aliases.remove(alias);
-		if (alias.getComplexAlias() != null) {
-			if (alias.getComplexAlias() == this) {
-				alias.setComplexAlias(null);
+	public void removeElement(Species element) {
+		elements.remove(element);
+		if (element.getComplex() != null) {
+			if (element.getComplex() == this) {
+				element.setComplex(null);
 			} else {
 				logger.warn("Removing element from complex that probably doesn't belong there");
 			}
@@ -181,7 +181,7 @@ public class Complex extends Species {
 	 */
 	public Set<Species> getAllSimpleChildren() {
 		Set<Species> result = new HashSet<>();
-		for (Species element : getAliases()) {
+		for (Species element : getElements()) {
 			if (element instanceof Complex) {
 				result.addAll(((Complex) element).getAllSimpleChildren());
 			} else {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java
index 6b005eed4a..e7a29c9ddb 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java
@@ -70,9 +70,9 @@ public class ComplexComparator implements Comparator<Complex> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in ComplexAlias class
-	 * in inheritence tree. By the design it calls also comparator of the upper
-	 * (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in {@link Complex}
+	 * class in inheritence tree. By the design it calls also comparator of the
+	 * upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -82,42 +82,42 @@ public class ComplexComparator implements Comparator<Complex> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Complex arg0, Complex arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		ElementComparator aliasComparator = new ElementComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		ElementComparator elementComparator = new ElementComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
 
 		IntegerComparator integerComparator = new IntegerComparator();
 
-		if (integerComparator.compare(arg0.getAliases().size(), arg1.getAliases().size()) != 0) {
-			logger.debug("children aliases size different: " + arg0.getAliases().size() + ", " + arg1.getAliases().size());
-			return integerComparator.compare(arg0.getAliases().size(), arg1.getAliases().size());
+		if (integerComparator.compare(arg0.getElements().size(), arg1.getElements().size()) != 0) {
+			logger.debug("children elements size different: " + arg0.getElements().size() + ", " + arg1.getElements().size());
+			return integerComparator.compare(arg0.getElements().size(), arg1.getElements().size());
 		}
 
 		Map<String, Element> map1 = new HashMap<>();
 		Map<String, Element> map2 = new HashMap<>();
 
-		for (Element alias : arg0.getAliases()) {
-			if (map1.get(alias.getElementId()) != null) {
-				throw new InvalidArgumentException("Few aliases with the same id: " + alias.getElementId());
+		for (Element element : arg0.getElements()) {
+			if (map1.get(element.getElementId()) != null) {
+				throw new InvalidArgumentException("Few elements with the same id: " + element.getElementId());
 			}
-			map1.put(alias.getElementId(), alias);
+			map1.put(element.getElementId(), element);
 		}
 
-		for (Element alias : arg1.getAliases()) {
-			if (map2.get(alias.getElementId()) != null) {
-				throw new InvalidArgumentException("Few aliases with the same id: " + alias.getElementId());
+		for (Element element : arg1.getElements()) {
+			if (map2.get(element.getElementId()) != null) {
+				throw new InvalidArgumentException("Few elements with the same id: " + element.getElementId());
 			}
-			map2.put(alias.getElementId(), alias);
+			map2.put(element.getElementId(), element);
 		}
 
-		for (Element alias : arg0.getAliases()) {
-			Element alias2 = map2.get(alias.getElementId());
-			int status = aliasComparator.compare(alias, alias2);
+		for (Element element : arg0.getElements()) {
+			Element element2 = map2.get(element.getElementId());
+			int status = elementComparator.compare(element, element2);
 			if (status != 0) {
-				logger.debug("child doesn't have a match: " + alias.getElementId());
+				logger.debug("child doesn't have a match: " + element.getElementId());
 				return status;
 			}
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java
index ef33ffeb78..e716106426 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java
@@ -67,9 +67,9 @@ public class DegradedComparator implements Comparator<Degraded> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in DegradedAlias
+	 * This method compares only the fields that are defined in {@link Degraded}
 	 * class in inheritence tree. By the design it calls also comparator of the
-	 * upper (SpeciesAlias) class.
+	 * upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class DegradedComparator implements Comparator<Degraded> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Degraded arg0, Degraded arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java
index 0f64edd06d..3732d4c347 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java
@@ -67,9 +67,9 @@ public class DrugComparator implements Comparator<Drug> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in DrugAlias class in
-	 * inheritence tree. By the design it calls also comparator of the upper
-	 * (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in {@link Drug} class
+	 * in inheritence tree. By the design it calls also comparator of the upper (
+	 * {@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class DrugComparator implements Comparator<Drug> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Drug arg0, Drug arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
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 a00cdb5d9a..04308da58e 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
@@ -43,7 +43,7 @@ import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.SearchIndex;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.layout.graphics.LayerText;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelData;
 
@@ -56,9 +56,9 @@ import lcsb.mapviewer.model.map.model.ModelData;
  * 
  */
 @Entity
-@Table(name = "alias_table")
+@Table(name = "element_table")
 @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
-@DiscriminatorColumn(name = "alias_type_db", discriminatorType = DiscriminatorType.STRING)
+@DiscriminatorColumn(name = "element_type_db", discriminatorType = DiscriminatorType.STRING)
 @DiscriminatorValue("GENERIC_ALIAS")
 public abstract class Element implements AnnotatedObject, Serializable {
 
@@ -68,7 +68,7 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	private static final long								serialVersionUID	 = 1L;
 
 	/**
-	 * Default font size for alias element.
+	 * Default font size for element description.
 	 */
 	private static final double							DEFAULT_FONT_SIZE	 = 12.0;
 
@@ -78,15 +78,15 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	private static final int								MAX_SYNONYM_LENGTH = 255;
 
 	/**
-	 * Comparator of aliases that takes into consideration size (width*height) of
-	 * aliases.
+	 * Comparator of elements that takes into consideration size (width*height) of
+	 * elements.
 	 */
 	public static final Comparator<Element>	SIZE_COMPARATOR		 = new Comparator<Element>() {
 																															 @Override
-																															 public int compare(Element alias1, Element alias2) {
+																															 public int compare(Element element1, Element element2) {
 
-																																 double size = alias1.getWidth() * alias1.getHeight();
-																																 double size2 = alias2.getWidth() * alias2.getHeight();
+																																 double size = element1.getWidth() * element1.getHeight();
+																																 double size2 = element2.getWidth() * element2.getHeight();
 																																 if (size < size2) {
 																																	 return 1;
 																																 } else if (size > size2) {
@@ -111,34 +111,34 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	private int															id;
 
 	/**
-	 * This object reference to the parent alias. Parent is a ComplexAlias which
-	 * contains (directly) this element. When alias is not placed in a complex
-	 * then parent contains a reference to CompartmentAlias where the alias is
-	 * placed. When alias lies outside of every compartment and complexe then null
-	 * value is assigned.
+	 * This object reference to the parent {@link Element}. Parent is a
+	 * {@link Complex} which contains (directly) this element. When element is not
+	 * placed in a complex then parent contains a reference to {@link Compartment}
+	 * where the element is placed. When element lies outside of every compartment
+	 * and complex then null value is assigned.
 	 */
 	@Cascade({ CascadeType.ALL })
 	@ManyToOne
 	private Element													parent;
 
 	/**
-	 * Map model object to which alias belongs to.
+	 * Map model object to which element belongs to.
 	 */
 	@ManyToOne(fetch = FetchType.LAZY)
 	private ModelData												model;
 
 	/**
-	 * Submodel that is extension of these element alias.
+	 * Submodel that is extension of these element.
 	 */
 	@ManyToOne(fetch = FetchType.LAZY, cascade = javax.persistence.CascadeType.ALL)
-	private AliasSubmodelConnection					submodel;
+	private ElementSubmodelConnection				submodel;
 
 	/**
-	 * CompartmentAlias where alias is located. When alias lies outside of every
-	 * compartment then null value is assigned.
+	 * {@link Compartment} where element is located. When element lies outside of
+	 * every compartment then null value is assigned.
 	 */
 	@ManyToOne
-	private Compartment											compartmentAlias;
+	private Compartment											compartment;
 
 	/**
 	 * Unique string identifier within one model object (usually imported from
@@ -147,22 +147,22 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	private String													elementId;
 
 	/**
-	 * X coordinate on the map where alias is located (top left corner).
+	 * X coordinate on the map where element is located (top left corner).
 	 */
 	private Double													x;
 
 	/**
-	 * Y coordinate on the map where alias is located (top left corner).
+	 * Y coordinate on the map where element is located (top left corner).
 	 */
 	private Double													y;
 
 	/**
-	 * Width of the alias.
+	 * Width of the element.
 	 */
 	private Double													width;
 
 	/**
-	 * Height of the alias.
+	 * Height of the element.
 	 */
 	private Double													height;
 
@@ -177,7 +177,7 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	private Color														color;
 
 	/**
-	 * From which level alias should be visible.
+	 * From which level element should be visible.
 	 * 
 	 * @see #transparencyLevel
 	 * @see lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params#level
@@ -186,7 +186,7 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	private int															visibilityLevel;
 
 	/**
-	 * From which level alias should be transparent.
+	 * From which level element should be transparent.
 	 * 
 	 * @see #visibilityLevel
 	 * @see AbstractImageGenerator.Params#level
@@ -361,38 +361,38 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * Returns x coordinate of the alias center.
+	 * Returns x coordinate of the element center.
 	 * 
-	 * @return x coordinate of the alias center
+	 * @return x coordinate of the element center
 	 */
 	public double getCenterX() {
 		return getX() + getWidth() / 2;
 	}
 
 	/**
-	 * Returns y coordinate of the alias center.
+	 * Returns y coordinate of the element center.
 	 * 
-	 * @return y coordinate of the alias center
+	 * @return y coordinate of the element center
 	 */
 	public double getCenterY() {
 		return getY() + getHeight() / 2;
 	}
 
 	/**
-	 * Returns coordinates of the alias center point.
+	 * Returns coordinates of the element center point.
 	 * 
-	 * @return coordinates of the alias center point
+	 * @return coordinates of the element center point
 	 */
 	public Point2D getCenter() {
 		return new Point2D.Double(getCenterX(), getCenterY());
 	}
 
 	/**
-	 * Methods that increase size of the alias by increaseSize. It influence x, y,
-	 * width and height fields of the alias.
+	 * Methods that increase size of the element by increaseSize. It influence x, y,
+	 * width and height fields of the element.
 	 * 
 	 * @param increaseSize
-	 *          by how many units we want to increase size of the alias
+	 *          by how many units we want to increase size of the element
 	 */
 	public void increaseBorder(double increaseSize) {
 		x -= increaseSize;
@@ -452,12 +452,12 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * This method computes the distance between point and the alias. It assumes
-	 * that alias is a rectangle.
+	 * This method computes the distance between point and the element. It assumes
+	 * that element is a rectangle.
 	 * 
 	 * @param point
 	 *          point from which we are looking for a distance
-	 * @return distance between point and this alias
+	 * @return distance between point and this element
 	 */
 	public double getDistanceFromPoint(Point2D point) {
 		if (contains(point)) {
@@ -476,11 +476,11 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * Checks if alias contains a point. It assumes that alias is a rectangle.
+	 * Checks if element contains a point. It assumes that element is a rectangle.
 	 * 
 	 * @param point
 	 *          point to check
-	 * @return <i>true</i> if point belongs to the alias, <i>false</i> otherwise
+	 * @return <i>true</i> if point belongs to the element, <i>false</i> otherwise
 	 */
 	public boolean contains(Point2D point) {
 		if (getX() <= point.getX() && getY() <= point.getY() && getX() + getWidth() >= point.getX() && getY() + getHeight() >= point.getY()) {
@@ -499,41 +499,41 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * Returns size of the alias in square units.
+	 * Returns size of the element in square units.
 	 * 
-	 * @return size of the alias
+	 * @return size of the element
 	 */
 	public double getSize() {
 		return getWidth() * getHeight();
 	}
 
 	/**
-	 * Checks if the alias2 (given as parameter) is placed inside this alias. This
+	 * Checks if the element2 (given as parameter) is placed inside this element. This
 	 * method should be overriden by all inheriting classes - it should properly
 	 * handle other shapes than rectangle.
 	 * 
-	 * @param alias2
+	 * @param element2
 	 *          object to be checked
-	 * @return true if alias2 lies in this object, false otherwise
-	 */
-	public boolean contains(Element alias2) {
-		if (alias2 instanceof Species) {
-			Point2D p1 = new Point2D.Double(alias2.getX(), alias2.getY());
-			Point2D p2 = new Point2D.Double(alias2.getX(), alias2.getY() + alias2.getHeight());
-			Point2D p3 = new Point2D.Double(alias2.getX() + alias2.getWidth(), alias2.getY());
-			Point2D p4 = new Point2D.Double(alias2.getX() + alias2.getWidth(), alias2.getY() + alias2.getHeight());
+	 * @return true if element2 lies in this object, false otherwise
+	 */
+	public boolean contains(Element element2) {
+		if (element2 instanceof Species) {
+			Point2D p1 = new Point2D.Double(element2.getX(), element2.getY());
+			Point2D p2 = new Point2D.Double(element2.getX(), element2.getY() + element2.getHeight());
+			Point2D p3 = new Point2D.Double(element2.getX() + element2.getWidth(), element2.getY());
+			Point2D p4 = new Point2D.Double(element2.getX() + element2.getWidth(), element2.getY() + element2.getHeight());
 			return contains(p1) || contains(p2) || contains(p3) || contains(p4);
-		} else if (getX() < alias2.getX() && getY() < alias2.getY() && getX() + getWidth() > alias2.getX() + alias2.getWidth()
-				&& getY() + getHeight() > alias2.getY() + alias2.getHeight()) {
+		} else if (getX() < element2.getX() && getY() < element2.getY() && getX() + getWidth() > element2.getX() + element2.getWidth()
+				&& getY() + getHeight() > element2.getY() + element2.getHeight()) {
 			return true;
 		}
 		return false;
 	}
 
 	/**
-	 * Makes a copy of the alias.
+	 * Makes a copy of the element.
 	 * 
-	 * @return copy of the alias
+	 * @return copy of the element
 	 */
 	public abstract Element copy();
 
@@ -660,7 +660,7 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * @return the aliasId
+	 * @return the elementId
 	 * @see #elementId
 	 */
 	public String getElementId() {
@@ -711,20 +711,20 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * @return the compartmentAlias
-	 * @see #compartmentAlias
+	 * @return the compartment
+	 * @see #compartment
 	 */
-	public Compartment getCompartmentAlias() {
-		return compartmentAlias;
+	public Compartment getCompartment() {
+		return compartment;
 	}
 
 	/**
-	 * @param compartmentAlias
-	 *          the compartmentAlias to set
-	 * @see #compartmentAlias
+	 * @param compartment
+	 *          the compartment to set
+	 * @see #compartment
 	 */
-	public void setCompartmentAlias(Compartment compartmentAlias) {
-		this.compartmentAlias = compartmentAlias;
+	public void setCompartment(Compartment compartment) {
+		this.compartment = compartment;
 	}
 
 	/**
@@ -821,7 +821,7 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	 * @return the submodel
 	 * @see #submodel
 	 */
-	public AliasSubmodelConnection getSubmodel() {
+	public ElementSubmodelConnection getSubmodel() {
 		return submodel;
 	}
 
@@ -830,10 +830,10 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	 *          the submodel to set
 	 * @see #submodel
 	 */
-	public void setSubmodel(AliasSubmodelConnection submodel) {
+	public void setSubmodel(ElementSubmodelConnection submodel) {
 		this.submodel = submodel;
 		if (submodel != null) {
-			this.submodel.setFromAlias(this);
+			this.submodel.setFromElement(this);
 		}
 	}
 
@@ -847,11 +847,11 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * Checks if alias contains a {@link LayerText}.
+	 * Checks if element contains a {@link LayerText}.
 	 * 
 	 * @param lt
 	 *          text to check
-	 * @return <i>true</i> if {@link LayerText} belongs to the alias, <i>false</i>
+	 * @return <i>true</i> if {@link LayerText} belongs to the element, <i>false</i>
 	 *         otherwise
 	 */
 	public boolean contains(LayerText lt) {
@@ -859,7 +859,7 @@ public abstract class Element implements AnnotatedObject, Serializable {
 	}
 
 	/**
-	 * Adds {@link SearchIndex} to the alias.
+	 * Adds {@link SearchIndex} to the element.
 	 * 
 	 * @param searchIndex
 	 *          search index to add
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
index 0800590d1b..5f57312dad 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
@@ -16,7 +16,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.compartment.CompartmentComparator;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnectionComparator;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnectionComparator;
 
 /**
  * Comparator class used for comparing {@link Element} objects.
@@ -84,7 +84,7 @@ public class ElementComparator implements Comparator<Element> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in Alias class in
+	 * This method compares only the fields that are defined in {@link Element} class in
 	 * inheritence tree. By the design it is called by subclass comparator.
 	 * 
 	 * @param arg0
@@ -110,7 +110,7 @@ public class ElementComparator implements Comparator<Element> {
 		DoubleComparator doubleComparator = new DoubleComparator(epsilon);
 
 		if (stringComparator.compare(arg0.getElementId(), arg1.getElementId()) != 0) {
-			logger.debug("AliasId different: " + arg0.getElementId() + ", " + arg1.getElementId());
+			logger.debug("ElementId different: " + arg0.getElementId() + ", " + arg1.getElementId());
 			return stringComparator.compare(arg0.getElementId(), arg1.getElementId());
 		}
 
@@ -151,10 +151,10 @@ public class ElementComparator implements Comparator<Element> {
 
 		// this should be somehow modified, because it can create a situation where
 		// comparison will fall into infinite loop (in cyclic submodels)
-		AliasSubmodelConnectionComparator ascc = new AliasSubmodelConnectionComparator(epsilon);
+		ElementSubmodelConnectionComparator ascc = new ElementSubmodelConnectionComparator(epsilon);
 		int status = ascc.compare(arg0.getSubmodel(), arg1.getSubmodel());
 		if (status != 0) {
-			logger.debug("Alias submodel different: " + arg0.getSubmodel() + ", " + arg1.getSubmodel());
+			logger.debug("Element submodel different: " + arg0.getSubmodel() + ", " + arg1.getSubmodel());
 			return status;
 		}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java
index 5ec522cc4f..044e7f059f 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java
@@ -71,9 +71,9 @@ public class GeneComparator implements Comparator<Gene> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in GeneAlias class in
-	 * inheritence tree. By the design it calls also comparator of the upper
-	 * (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in {@link Gene} class
+	 * in inheritence tree. By the design it calls also comparator of the upper (
+	 * {@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -83,8 +83,8 @@ public class GeneComparator implements Comparator<Gene> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Gene arg0, Gene arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java
index 4fb7a683db..ce6e0c5c2c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java
@@ -80,8 +80,8 @@ public class GenericProteinComparator implements Comparator<GenericProtein> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(GenericProtein arg0, GenericProtein arg1) {
-		ProteinComparator proteinAliasComparator = new ProteinComparator(epsilon);
-		int result = proteinAliasComparator.internalCompare(arg0, arg1);
+		ProteinComparator proteinComparator = new ProteinComparator(epsilon);
+		int result = proteinComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java
index 4cd44ebde6..8f6c3f4b8a 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java
@@ -14,7 +14,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
  *
  */
 public class IonChannelProteinComparator implements Comparator<IonChannelProtein> {
-	
+
 	/**
 	 * Default class logger.
 	 */
@@ -67,9 +67,9 @@ public class IonChannelProteinComparator implements Comparator<IonChannelProtein
 	}
 
 	/**
-	 * This method compares only the fields that are defined in IonChannelProteinAliasAlias
-	 * class in inheritence tree. By the design it calls also comparator of the
-	 * upper (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in
+	 * {@link IonChannelProtein} class in inheritence tree. By the design it calls
+	 * also comparator of the upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class IonChannelProteinComparator implements Comparator<IonChannelProtein
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(IonChannelProtein arg0, IonChannelProtein arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java
index cddddd1b5b..365f5de9f8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java
@@ -79,8 +79,8 @@ public class IonComparator implements Comparator<Ion> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Ion arg0, Ion arg1) {
-		ChemicalComparator speciesAliasComparator = new ChemicalComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		ChemicalComparator speciesComparator = new ChemicalComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java
index b6a01629f0..8b7af90f58 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java
@@ -14,7 +14,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
  *
  */
 public class PhenotypeComparator implements Comparator<Phenotype> {
-	
+
 	/**
 	 * Default class logger.
 	 */
@@ -67,9 +67,9 @@ public class PhenotypeComparator implements Comparator<Phenotype> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in PhenotypeAlias
+	 * This method compares only the fields that are defined in {@link Phenotype}
 	 * class in inheritence tree. By the design it calls also comparator of the
-	 * upper (SpeciesAlias) class.
+	 * upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class PhenotypeComparator implements Comparator<Phenotype> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Phenotype arg0, Phenotype arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java
index 7090a9316c..53cee7bdba 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java
@@ -33,22 +33,22 @@ public class ProteinComparator implements Comparator<Protein> {
 	/**
 	 * Comparator for {@link GenericProtein} implementation of {@link Protein}.
 	 */
-	private GenericProteinComparator		genericProteinAliasComparator;
+	private GenericProteinComparator		genericProteinComparator;
 
 	/**
 	 * Comparator for {@link IonChannelProtein} implementation of {@link Protein}.
 	 */
-	private IonChannelProteinComparator	ionChannelProteinAliasComparator;
+	private IonChannelProteinComparator	ionChannelProteinComparator;
 
 	/**
 	 * Comparator for {@link ReceptorProtein} implementation of {@link Protein}.
 	 */
-	private ReceptorProteinComparator		receptorProteinAliasComparator;
+	private ReceptorProteinComparator		receptorProteinComparator;
 
 	/**
 	 * Comparator for {@link TruncatedProtein} implementation of {@link Protein}.
 	 */
-	private TruncatedProteinComparator	truncatedProteinAliasComparator;
+	private TruncatedProteinComparator	truncatedProteinComparator;
 
 	/**
 	 * Constructor that requires {@link #epsilon} parameter.
@@ -58,10 +58,10 @@ public class ProteinComparator implements Comparator<Protein> {
 	 */
 	public ProteinComparator(double epsilon) {
 		this.epsilon = epsilon;
-		genericProteinAliasComparator = new GenericProteinComparator(epsilon);
-		ionChannelProteinAliasComparator = new IonChannelProteinComparator(epsilon);
-		receptorProteinAliasComparator = new ReceptorProteinComparator(epsilon);
-		truncatedProteinAliasComparator = new TruncatedProteinComparator(epsilon);
+		genericProteinComparator = new GenericProteinComparator(epsilon);
+		ionChannelProteinComparator = new IonChannelProteinComparator(epsilon);
+		receptorProteinComparator = new ReceptorProteinComparator(epsilon);
+		truncatedProteinComparator = new TruncatedProteinComparator(epsilon);
 	}
 
 	/**
@@ -85,13 +85,13 @@ public class ProteinComparator implements Comparator<Protein> {
 
 		if (arg0.getClass().equals(arg1.getClass())) {
 			if (arg0.getClass().equals(GenericProtein.class)) {
-				return genericProteinAliasComparator.compare((GenericProtein) arg0, (GenericProtein) arg1);
+				return genericProteinComparator.compare((GenericProtein) arg0, (GenericProtein) arg1);
 			} else if (arg0.getClass().equals(IonChannelProtein.class)) {
-				return ionChannelProteinAliasComparator.compare((IonChannelProtein) arg0, (IonChannelProtein) arg1);
+				return ionChannelProteinComparator.compare((IonChannelProtein) arg0, (IonChannelProtein) arg1);
 			} else if (arg0.getClass().equals(ReceptorProtein.class)) {
-				return receptorProteinAliasComparator.compare((ReceptorProtein) arg0, (ReceptorProtein) arg1);
+				return receptorProteinComparator.compare((ReceptorProtein) arg0, (ReceptorProtein) arg1);
 			} else if (arg0.getClass().equals(TruncatedProtein.class)) {
-				return truncatedProteinAliasComparator.compare((TruncatedProtein) arg0, (TruncatedProtein) arg1);
+				return truncatedProteinComparator.compare((TruncatedProtein) arg0, (TruncatedProtein) arg1);
 			} else {
 				throw new NotImplementedException("Don't know how to compare classes: " + arg0.getClass());
 			}
@@ -101,9 +101,9 @@ public class ProteinComparator implements Comparator<Protein> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in ProteinAlias class
-	 * in inheritence tree. By the design it calls also comparator of the upper
-	 * (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in {@link Protein}
+	 * class in inheritence tree. By the design it calls also comparator of the
+	 * upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -113,8 +113,8 @@ public class ProteinComparator implements Comparator<Protein> {
 	 *         -1/1 is returned.
 	 */
 	int internalCompare(Protein arg0, Protein arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java
index 724edc151a..186498d9fc 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java
@@ -14,7 +14,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
  *
  */
 public class ReceptorProteinComparator implements Comparator<ReceptorProtein> {
-	
+
 	/**
 	 * Default class logger.
 	 */
@@ -67,9 +67,9 @@ public class ReceptorProteinComparator implements Comparator<ReceptorProtein> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in ReceptorProteinAlias
-	 * class in inheritence tree. By the design it calls also comparator of the
-	 * upper (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in
+	 * {@link ReceptorProtein} class in inheritence tree. By the design it calls
+	 * also comparator of the upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class ReceptorProteinComparator implements Comparator<ReceptorProtein> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(ReceptorProtein arg0, ReceptorProtein arg1) {
-		ProteinComparator proteinAliasComparator = new ProteinComparator(epsilon);
-		int result = proteinAliasComparator.internalCompare(arg0, arg1);
+		ProteinComparator proteinComparator = new ProteinComparator(epsilon);
+		int result = proteinComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java
index 1703a391c1..25f8e4de9b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java
@@ -71,9 +71,9 @@ public class RnaComparator implements Comparator<Rna> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in RnaAlias class in
-	 * inheritence tree. By the design it calls also comparator of the upper
-	 * (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in {@link Rna} class
+	 * in inheritence tree. By the design it calls also comparator of the upper (
+	 * {@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -83,8 +83,8 @@ public class RnaComparator implements Comparator<Rna> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Rna arg0, Rna arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java
index 463b37c0b8..776941b698 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java
@@ -68,8 +68,8 @@ public class SimpleMoleculeComparator implements Comparator<SimpleMolecule> {
 
 	/**
 	 * This method compares only the fields that are defined in
-	 * SimpleMoleculeAlias class in inheritence tree. By the design it calls also
-	 * comparator of the upper (SpeciesAlias) class.
+	 * {@link SimpleMolecule} class in inheritence tree. By the design it calls
+	 * also comparator of the upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class SimpleMoleculeComparator implements Comparator<SimpleMolecule> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(SimpleMolecule arg0, SimpleMolecule arg1) {
-		ChemicalComparator chemicalAliasComparator = new ChemicalComparator(epsilon);
-		int result = chemicalAliasComparator.internalCompare(arg0, arg1);
+		ChemicalComparator chemicalComparator = new ChemicalComparator(epsilon);
+		int result = chemicalComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java
index 712f212bd2..019cfd461b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.species.field.PositionToCompartment;
  * 
  */
 @Entity
-@DiscriminatorValue("Species Alias")
+@DiscriminatorValue("Species")
 public abstract class Species extends Element {
 
 	/**
@@ -41,50 +41,50 @@ public abstract class Species extends Element {
 	private static Logger					logger								= Logger.getLogger(Species.class);
 
 	/**
-	 * Is the alias active.
+	 * Is the element active.
 	 */
 	private Boolean								activity;
 
 	/**
-	 * Width of the alias border.
+	 * Width of the element border.
 	 */
 	private Double								lineWidth;
 
 	/**
-	 * State of the alias visualization (should the inside be presented in details
-	 * or not). TODO this should be transformed into enum
+	 * State of the element visualization (should the inside be presented in
+	 * details or not). TODO this should be transformed into enum
 	 */
 	private String								state;
 
 	/**
-	 * State (free text describing alias in some way) of the alias is split into
-	 * {@link #aliasStatePrefix prefix} and {@link #aliasStateLabel label}. This
-	 * value represent the first part of the state.
+	 * State (free text describing element in some way) of the element is split
+	 * into {@link #statePrefix prefix} and {@link #stateLabel label}. This value
+	 * represent the first part of the state.
 	 */
-	private String								aliasStatePrefix;
+	private String								statePrefix;
 
 	/**
-	 * State (free text describing alias in some way) of the alias is split into
-	 * {@link #aliasStatePrefix prefix} and {@link #aliasStateLabel label}. This
-	 * value represent the second part of the state.
+	 * State (free text describing element in some way) of the element is split
+	 * into {@link #statePrefix prefix} and {@link #stateLabel label}. This value
+	 * represent the second part of the state.
 	 */
-	private String								aliasStateLabel;
+	private String								stateLabel;
 
 	/**
-	 * Complex alias to which this alias belongs to. Null if such complex alias
-	 * doesn't exist.
+	 * Complex to which this element belongs to. Null if such complex doesn't
+	 * exist.
 	 */
 	@ManyToOne
 	@Cascade({ CascadeType.ALL })
-	@JoinColumn(name = "idComplexAliasDb")
-	private Complex								complexAlias;
+	@JoinColumn(name = "idcomplexdb")
+	private Complex								complex;
 
 	/**
-	 * List of reaction nodes that point to this alias.
+	 * List of reaction nodes that point to this element.
 	 */
 	@Cascade({ CascadeType.ALL })
-	@OneToMany(fetch = FetchType.EAGER, mappedBy = "alias", orphanRemoval = true)
-	private Set<ReactionNode>			node									= new HashSet<ReactionNode>();
+	@OneToMany(fetch = FetchType.EAGER, mappedBy = "element", orphanRemoval = true)
+	private Set<ReactionNode>			node									= new HashSet<>();
 
 	/**
 	 * Initial amount of species.
@@ -123,14 +123,14 @@ public abstract class Species extends Element {
 	private Boolean								hypothetical					= null;
 
 	/**
-	 * Cunstructor that set alias identifier.
+	 * Constructor that set element identifier.
 	 * 
-	 * @param aliasId
-	 *          {@link Element#aliasId}
+	 * @param elementId
+	 *          {@link Element#elementId}
 	 */
-	public Species(String aliasId) {
+	public Species(String elementId) {
 		this();
-		setElementId(aliasId);
+		setElementId(elementId);
 	}
 
 	/**
@@ -156,9 +156,9 @@ public abstract class Species extends Element {
 		lineWidth = original.getLineWidth();
 		state = original.getState();
 
-		complexAlias = original.getComplexAlias();
-		aliasStateLabel = original.getAliasStateLabel();
-		aliasStatePrefix = original.getAliasStatePrefix();
+		complex = original.getComplex();
+		stateLabel = original.getStateLabel();
+		statePrefix = original.getStatePrefix();
 
 		initialAmount = original.getInitialAmount();
 		charge = original.getCharge();
@@ -223,20 +223,20 @@ public abstract class Species extends Element {
 	}
 
 	/**
-	 * @return the complexAlias
-	 * @see #complexAlias
+	 * @return the complex
+	 * @see #complex
 	 */
-	public Complex getComplexAlias() {
-		return complexAlias;
+	public Complex getComplex() {
+		return complex;
 	}
 
 	/**
-	 * @param complexAlias
-	 *          the complexAlias to set
-	 * @see #complexAlias
+	 * @param complex
+	 *          the complex to set
+	 * @see #complex
 	 */
-	public void setComplexAlias(Complex complexAlias) {
-		this.complexAlias = complexAlias;
+	public void setComplex(Complex complex) {
+		this.complex = complex;
 	}
 
 	/**
@@ -257,37 +257,37 @@ public abstract class Species extends Element {
 	}
 
 	/**
-	 * @return the aliasStatePrefix
-	 * @see #aliasStatePrefix
+	 * @return the statePrefix
+	 * @see #statePrefix
 	 */
-	public String getAliasStatePrefix() {
-		return aliasStatePrefix;
+	public String getStatePrefix() {
+		return statePrefix;
 	}
 
 	/**
-	 * @param aliasStatePrefix
-	 *          the aliasStatePrefix to set
-	 * @see #aliasStatePrefix
+	 * @param statePrefix
+	 *          the statePrefix to set
+	 * @see #statePrefix
 	 */
-	public void setAliasStatePrefix(String aliasStatePrefix) {
-		this.aliasStatePrefix = aliasStatePrefix;
+	public void setStatePrefix(String statePrefix) {
+		this.statePrefix = statePrefix;
 	}
 
 	/**
-	 * @return the aliasStateLabel
-	 * @see #aliasStateLabel
+	 * @return the stateLabel
+	 * @see #stateLabel
 	 */
-	public String getAliasStateLabel() {
-		return aliasStateLabel;
+	public String getStateLabel() {
+		return stateLabel;
 	}
 
 	/**
-	 * @param aliasStateLabel
-	 *          the aliasStateLabel to set
-	 * @see #aliasStateLabel
+	 * @param stateLabel
+	 *          the stateLabel to set
+	 * @see #stateLabel
 	 */
-	public void setAliasStateLabel(String aliasStateLabel) {
-		this.aliasStateLabel = aliasStateLabel;
+	public void setStateLabel(String stateLabel) {
+		this.stateLabel = stateLabel;
 	}
 
 	@Override
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
index 678e18507d..c790a81e46 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
@@ -160,8 +160,8 @@ public class SpeciesComparator implements Comparator<Species> {
 	 *         -1/1 is returned.
 	 */
 	int internalCompare(Species arg0, Species arg1) {
-		ElementComparator aliasComparator = new ElementComparator(epsilon);
-		int result = aliasComparator.internalCompare(arg0, arg1);
+		ElementComparator elementComparator = new ElementComparator(epsilon);
+		int result = elementComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
@@ -180,14 +180,14 @@ public class SpeciesComparator implements Comparator<Species> {
 			return doubleComparator.compare(arg0.getLineWidth(), arg1.getLineWidth());
 		}
 		StringComparator stringComparator = new StringComparator();
-		if (stringComparator.compare(arg0.getAliasStateLabel(), arg1.getAliasStateLabel()) != 0) {
-			logger.debug("state label different: " + arg0.getAliasStateLabel() + ", " + arg1.getAliasStateLabel());
-			return stringComparator.compare(arg0.getAliasStateLabel(), arg1.getAliasStateLabel());
+		if (stringComparator.compare(arg0.getStateLabel(), arg1.getStateLabel()) != 0) {
+			logger.debug("state label different: " + arg0.getStateLabel() + ", " + arg1.getStateLabel());
+			return stringComparator.compare(arg0.getStateLabel(), arg1.getStateLabel());
 		}
 
-		if (stringComparator.compare(arg0.getAliasStatePrefix(), arg1.getAliasStatePrefix()) != 0) {
-			logger.debug("state prefix different: " + arg0.getAliasStatePrefix() + ", " + arg1.getAliasStatePrefix());
-			return stringComparator.compare(arg0.getAliasStatePrefix(), arg1.getAliasStatePrefix());
+		if (stringComparator.compare(arg0.getStatePrefix(), arg1.getStatePrefix()) != 0) {
+			logger.debug("state prefix different: " + arg0.getStatePrefix() + ", " + arg1.getStatePrefix());
+			return stringComparator.compare(arg0.getStatePrefix(), arg1.getStatePrefix());
 		}
 
 		if (integerComparator.compare(arg0.getInitialAmount(), arg1.getInitialAmount()) != 0) {
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java
index 39493f31f0..22483ca6f5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java
@@ -68,8 +68,8 @@ public class TruncatedProteinComparator implements Comparator<TruncatedProtein>
 
 	/**
 	 * This method compares only the fields that are defined in
-	 * TruncatedProteinAlias class in inheritence tree. By the design it calls
-	 * also comparator of the upper (SpeciesAlias) class.
+	 * {@link TruncatedProtein} class in inheritence tree. By the design it calls
+	 * also comparator of the upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class TruncatedProteinComparator implements Comparator<TruncatedProtein>
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(TruncatedProtein arg0, TruncatedProtein arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java
index 96aea95884..96c0edce85 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java
@@ -67,9 +67,9 @@ public class UnknownComparator implements Comparator<Unknown> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in UnknownAlias class
-	 * in inheritence tree. By the design it calls also comparator of the upper
-	 * (SpeciesAlias) class.
+	 * This method compares only the fields that are defined in {@link Unknown}
+	 * class in inheritence tree. By the design it calls also comparator of the
+	 * upper ({@link Species}) class.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -79,8 +79,8 @@ public class UnknownComparator implements Comparator<Unknown> {
 	 *         -1/1 is returned.
 	 */
 	private int internalCompare(Unknown arg0, Unknown arg1) {
-		SpeciesComparator speciesAliasComparator = new SpeciesComparator(epsilon);
-		int result = speciesAliasComparator.internalCompare(arg0, arg1);
+		SpeciesComparator speciesComparator = new SpeciesComparator(epsilon);
+		int result = speciesComparator.internalCompare(arg0, arg1);
 		if (result != 0) {
 			return result;
 		}
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/AllMapTests.java b/model/src/test/java/lcsb/mapviewer/model/map/AllMapTests.java
index 5670e7eb01..3d0f487666 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/AllMapTests.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/AllMapTests.java
@@ -16,7 +16,7 @@ import lcsb.mapviewer.model.map.statistics.AllStatisticsTests;
 
 @RunWith(Suite.class)
 @SuiteClasses({ AllCompartmentTests.class, //
-		AliasInFewParentsExceptionTest.class, //
+		ElementInFewParentsExceptionTest.class, //
 		AllGraphTests.class, //
 		AllGraphicsTests.class, //
 		AllLayoutTests.class, //
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/AliasInFewParentsExceptionTest.java b/model/src/test/java/lcsb/mapviewer/model/map/ElementInFewParentsExceptionTest.java
similarity index 72%
rename from model/src/test/java/lcsb/mapviewer/model/map/AliasInFewParentsExceptionTest.java
rename to model/src/test/java/lcsb/mapviewer/model/map/ElementInFewParentsExceptionTest.java
index c33431d2c0..5d4cb523ac 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/AliasInFewParentsExceptionTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/ElementInFewParentsExceptionTest.java
@@ -5,7 +5,7 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-public class AliasInFewParentsExceptionTest {
+public class ElementInFewParentsExceptionTest {
 
 	@Before
 	public void setUp() throws Exception {
@@ -18,7 +18,7 @@ public class AliasInFewParentsExceptionTest {
 	@Test
 	public void testSerialization() {
 		try {
-			SerializationUtils.serialize(new AliasInFewParentsException(""));
+			SerializationUtils.serialize(new ElementInFewParentsException(""));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartmentTest.java
index cfcd1f7b1a..e0d775c942 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/BottomSquareCompartmentTest.java
@@ -36,8 +36,8 @@ public class BottomSquareCompartmentTest {
 	@Test
 	public void testConstructor1() {
 		try {
-			BottomSquareCompartment alias = new BottomSquareCompartment(new Compartment());
-			assertNotNull(alias);
+			BottomSquareCompartment compartment = new BottomSquareCompartment(new Compartment());
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -50,8 +50,8 @@ public class BottomSquareCompartmentTest {
 			Model model = new ModelFullIndexed(null);
 			model.setWidth(1);
 			model.setHeight(1);
-			BottomSquareCompartment alias = new BottomSquareCompartment(new Compartment(), model);
-			assertNotNull(alias);
+			BottomSquareCompartment compartment = new BottomSquareCompartment(new Compartment(), model);
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -61,8 +61,8 @@ public class BottomSquareCompartmentTest {
 	@Test
 	public void testCopy() {
 		try {
-			BottomSquareCompartment alias = new BottomSquareCompartment().copy();
-			assertNotNull(alias);
+			BottomSquareCompartment compartment = new BottomSquareCompartment().copy();
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java
index c4d2f9627d..c6888fa788 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java
@@ -33,10 +33,10 @@ public class CompartmentComparatorTest {
 	@Test
 	public void testEquals() {
 		try {
-			Compartment alias1 = createCompartmentAlias();
-			Compartment alias2 = createCompartmentAlias();
+			Compartment compartment1 = createCompartment();
+			Compartment compartment2 = createCompartment();
 
-			assertEquals(0, comparator.compare(alias1, alias2));
+			assertEquals(0, comparator.compare(compartment1, compartment2));
 
 			assertEquals(0, comparator.compare(null, null));
 
@@ -49,9 +49,9 @@ public class CompartmentComparatorTest {
 	@Test
 	public void testDifferent2() {
 		try {
-			Compartment alias1 = createCompartmentAlias();
+			Compartment compartment = createCompartment();
 
-			assertTrue(comparator.compare(alias1, new PathwayCompartment()) != 0);
+			assertTrue(comparator.compare(compartment, new PathwayCompartment()) != 0);
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -62,18 +62,18 @@ public class CompartmentComparatorTest {
 	@Test
 	public void testInvalid() {
 		try {
-			Compartment alias1 = createCompartmentAlias();
-			Compartment alias2 = createCompartmentAlias();
+			Compartment compartment1 = createCompartment();
+			Compartment compartment2 = createCompartment();
 
-			GenericProtein alias = new GenericProtein("1");
-			alias1.getElements().add(alias);
-			alias = new GenericProtein("1");
-			alias1.getElements().add(alias);
+			GenericProtein protein = new GenericProtein("1");
+			compartment1.getElements().add(protein);
+			protein = new GenericProtein("1");
+			compartment1.getElements().add(protein);
 
-			alias2.getElements().add(new GenericProtein("b"));
-			alias2.getElements().add(new GenericProtein("a"));
+			compartment2.getElements().add(new GenericProtein("b"));
+			compartment2.getElements().add(new GenericProtein("a"));
 
-			comparator.compare(alias1, alias2);
+			comparator.compare(compartment1, compartment2);
 			fail("Exception expected");
 
 		} catch (InvalidArgumentException e) {
@@ -86,18 +86,18 @@ public class CompartmentComparatorTest {
 	@Test
 	public void testInvalid2() {
 		try {
-			Compartment alias1 = createCompartmentAlias();
-			Compartment alias2 = createCompartmentAlias();
+			Compartment compartment1 = createCompartment();
+			Compartment compartment2 = createCompartment();
 
-			Species alias = new GenericProtein("1");
-			alias1.getElements().add(alias);
-			alias = new GenericProtein("1");
-			alias1.getElements().add(alias);
+			Species protein = new GenericProtein("1");
+			compartment1.getElements().add(protein);
+			protein = new GenericProtein("1");
+			compartment1.getElements().add(protein);
 
-			alias2.getElements().add(new GenericProtein("A"));
-			alias2.getElements().add(new GenericProtein("B"));
+			compartment2.getElements().add(new GenericProtein("A"));
+			compartment2.getElements().add(new GenericProtein("B"));
 
-			comparator.compare(alias2, alias1);
+			comparator.compare(compartment2, compartment1);
 			fail("Exception expected");
 
 		} catch (InvalidArgumentException e) {
@@ -107,7 +107,7 @@ public class CompartmentComparatorTest {
 		}
 	}
 
-	private Compartment createCompartmentAlias() {
+	private Compartment createCompartment() {
 		Compartment result = new Compartment();
 
 		result.setElementId("asd");
@@ -123,9 +123,9 @@ public class CompartmentComparatorTest {
 		result.setInnerWidth(65);
 		result.setNamePoint(new Point2D.Double(9, 2));
 
-		GenericProtein alias = new GenericProtein("S");
-		alias.setName("a");
-		result.addElement(alias);
+		GenericProtein protein = new GenericProtein("S");
+		protein.setName("a");
+		result.addElement(protein);
 
 		return result;
 	}
@@ -133,79 +133,79 @@ public class CompartmentComparatorTest {
 	@Test
 	public void testDifferent() {
 		try {
-			Compartment alias1 = createCompartmentAlias();
-			Compartment alias2 = createCompartmentAlias();
+			Compartment compartment1 = createCompartment();
+			Compartment compartment2 = createCompartment();
 
-			assertTrue(comparator.compare(alias1, null) != 0);
-			assertTrue(comparator.compare(null, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, null) != 0);
+			assertTrue(comparator.compare(null, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.setElementId("tmp");
+			compartment1.setElementId("tmp");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.setThickness(11111);
+			compartment1.setThickness(11111);
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.setNamePoint(new Point2D.Double(9, 999));
+			compartment1.setNamePoint(new Point2D.Double(9, 999));
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.addElement(new GenericProtein("idd"));
+			compartment1.addElement(new GenericProtein("idd"));
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.getElements().iterator().next().setElementId("bnu");
+			compartment1.getElements().iterator().next().setElementId("bnu");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			Species speciesAlias = (Species) alias1.getElements().iterator().next();
-			speciesAlias.setName("new namne");
+			Species species = (Species) compartment1.getElements().iterator().next();
+			species.setName("new namne");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.setOuterWidth(2);
+			compartment1.setOuterWidth(2);
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
-			alias1.setInnerWidth(2);
+			compartment1.setInnerWidth(2);
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(compartment1, compartment2) != 0);
+			assertTrue(comparator.compare(compartment2, compartment1) != 0);
 
-			alias1 = createCompartmentAlias();
-			alias2 = createCompartmentAlias();
+			compartment1 = createCompartment();
+			compartment2 = createCompartment();
 
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java
index 179cb23a91..07690d2bfa 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java
@@ -45,17 +45,17 @@ public class CompartmentTest {
 	public void testCross() throws Exception {
 		try {
 			Model model = createCrossModel();
-			Element ldhbAlias1 = model.getElementByElementId("sa1115");
-			Element ldhbAlias2 = model.getElementByElementId("sa1117");
-			Element ldhbAlias3 = model.getElementByElementId("sa1119");
-			Element ldhbAlias4 = model.getElementByElementId("sa1121");
+			Element ldhb1 = model.getElementByElementId("sa1115");
+			Element ldhb2 = model.getElementByElementId("sa1117");
+			Element ldhb3 = model.getElementByElementId("sa1119");
+			Element ldhb4 = model.getElementByElementId("sa1121");
 
-			Compartment cytosolAlias = (Compartment) model.getElementByElementId("ca1");
+			Compartment cytosol = (Compartment) model.getElementByElementId("ca1");
 
-			assertTrue(cytosolAlias.cross(ldhbAlias1));
-			assertTrue(cytosolAlias.cross(ldhbAlias2));
-			assertTrue(cytosolAlias.cross(ldhbAlias3));
-			assertTrue(cytosolAlias.cross(ldhbAlias4));
+			assertTrue(cytosol.cross(ldhb1));
+			assertTrue(cytosol.cross(ldhb2));
+			assertTrue(cytosol.cross(ldhb3));
+			assertTrue(cytosol.cross(ldhb4));
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -66,10 +66,10 @@ public class CompartmentTest {
 	@Test
 	public void testCrossException() throws Exception {
 		try {
-			Compartment alias = new Compartment();
-			Complex alias2 = new Complex("idd");
-			alias2.setParent(alias2);
-			alias.cross(alias2);
+			Compartment compartment = new Compartment();
+			Complex complex = new Complex("idd");
+			complex.setParent(complex);
+			compartment.cross(complex);
 
 			fail("Exception epxected");
 		} catch (InvalidStateException e) {
@@ -82,47 +82,47 @@ public class CompartmentTest {
 	@Test
 	public void testCross2() throws Exception {
 		try {
-			Compartment alias = new Compartment();
-			alias.setX(10.0);
-			alias.setY(10.0);
-			alias.setWidth(10.0);
-			alias.setHeight(10.0);
-			Complex alias2 = new Complex("idd");
-			alias2.setWidth(10.0);
-			alias2.setHeight(10.0);
-			alias2.setX(5.0);
-			alias2.setY(5.0);
-			assertTrue(alias.cross(alias2));
-
-			alias2.setX(15.0);
-			alias2.setY(5.0);
-			assertTrue(alias.cross(alias2));
-
-			alias2.setX(5.0);
-			alias2.setY(15.0);
-			assertTrue(alias.cross(alias2));
-
-			alias2.setX(15.0);
-			alias2.setY(15.0);
-			assertTrue(alias.cross(alias2));
-
-			alias2.setWidth(100.0);
-			alias2.setHeight(100.0);
-			alias2.setX(-110.0);
-			alias2.setY(-10.0);
-			assertFalse(alias.cross(alias2));
-
-			alias2.setX(-10.0);
-			alias2.setY(-110.0);
-			assertFalse(alias.cross(alias2));
-
-			alias2.setX(40.0);
-			alias2.setY(-10.0);
-			assertFalse(alias.cross(alias2));
-
-			alias2.setX(-10.0);
-			alias2.setY(40.0);
-			assertFalse(alias.cross(alias2));
+			Compartment compartment = new Compartment();
+			compartment.setX(10.0);
+			compartment.setY(10.0);
+			compartment.setWidth(10.0);
+			compartment.setHeight(10.0);
+			Complex complex = new Complex("idd");
+			complex.setWidth(10.0);
+			complex.setHeight(10.0);
+			complex.setX(5.0);
+			complex.setY(5.0);
+			assertTrue(compartment.cross(complex));
+
+			complex.setX(15.0);
+			complex.setY(5.0);
+			assertTrue(compartment.cross(complex));
+
+			complex.setX(5.0);
+			complex.setY(15.0);
+			assertTrue(compartment.cross(complex));
+
+			complex.setX(15.0);
+			complex.setY(15.0);
+			assertTrue(compartment.cross(complex));
+
+			complex.setWidth(100.0);
+			complex.setHeight(100.0);
+			complex.setX(-110.0);
+			complex.setY(-10.0);
+			assertFalse(compartment.cross(complex));
+
+			complex.setX(-10.0);
+			complex.setY(-110.0);
+			assertFalse(compartment.cross(complex));
+
+			complex.setX(40.0);
+			complex.setY(-10.0);
+			assertFalse(compartment.cross(complex));
+
+			complex.setX(-10.0);
+			complex.setY(40.0);
+			assertFalse(compartment.cross(complex));
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -133,18 +133,18 @@ public class CompartmentTest {
 	@Test
 	public void testContainsIdenticalSpecies() throws Exception {
 		try {
-			Compartment alias = new Compartment();
+			Compartment compartment = new Compartment();
 
-			alias.setName("AS");
+			compartment.setName("AS");
 
-			assertFalse(alias.containsIdenticalSpecies());
+			assertFalse(compartment.containsIdenticalSpecies());
 
-			Species sAlias = new GenericProtein("idd");
-			sAlias.setName("AS");
+			Species species = new GenericProtein("idd");
+			species.setName("AS");
 
-			alias.addElement(sAlias);
+			compartment.addElement(species);
 
-			assertTrue(alias.containsIdenticalSpecies());
+			assertTrue(compartment.containsIdenticalSpecies());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -156,66 +156,66 @@ public class CompartmentTest {
 		Model model = new ModelFullIndexed(null);
 		model.addElement(new Compartment("default"));
 
-		model.addElement(createSpeciesAlias(3264.8333333333335, 7517.75, 86.0, 46.0, "sa1115"));
-		model.addElement(createSpeciesAlias(3267.6666666666665, 7438.75, 80.0, 40.0, "sa1117"));
-		model.addElement(createSpeciesAlias(3261.6666666666665, 7600.75, 92.0, 52.0, "sa1119"));
-		model.addElement(createSpeciesAlias(3203.666666666667, 7687.75, 98.0, 58.0, "sa1121"));
+		model.addElement(createSpecies(3264.8333333333335, 7517.75, 86.0, 46.0, "sa1115"));
+		model.addElement(createSpecies(3267.6666666666665, 7438.75, 80.0, 40.0, "sa1117"));
+		model.addElement(createSpecies(3261.6666666666665, 7600.75, 92.0, 52.0, "sa1119"));
+		model.addElement(createSpecies(3203.666666666667, 7687.75, 98.0, 58.0, "sa1121"));
 
-		Species alias = createSpeciesAlias(7817.714285714286, 11287.642857142859, 80.0, 40.0, "sa1422");
-		Species alias2 = createSpeciesAlias(8224.964285714286, 11241.392857142859, 80.0, 40.0, "sa1419");
-		Complex alias3 = createComplexAlias(7804.714285714286, 11182.642857142859, 112.0, 172.0, "csa152");
-		alias3.addAlias(alias);
-		alias3.addAlias(alias2);
-		alias.setParent(alias3);
-		alias2.setParent(alias3);
+		Species species = createSpecies(7817.714285714286, 11287.642857142859, 80.0, 40.0, "sa1422");
+		Species species2 = createSpecies(8224.964285714286, 11241.392857142859, 80.0, 40.0, "sa1419");
+		Complex complex = createComplex(7804.714285714286, 11182.642857142859, 112.0, 172.0, "csa152");
+		complex.addSpecies(species);
+		complex.addSpecies(species2);
+		species.setParent(complex);
+		species2.setParent(complex);
 
-		model.addElement(alias);
-		model.addElement(alias2);
-		model.addElement(alias3);
+		model.addElement(species);
+		model.addElement(species2);
+		model.addElement(complex);
 
-		model.addElement(createCompartmentAlias(1380.0, 416.0, 15893.0, 10866.0, "ca1"));
+		model.addElement(createCompartment(1380.0, 416.0, 15893.0, 10866.0, "ca1"));
 		return model;
 	}
 
-	private Compartment createCompartmentAlias(double x, double y, double width, double height, String aliasId) {
-		Compartment alias = new Compartment(aliasId);
-		alias.setElementId(aliasId);
-		alias.setX(x);
-		alias.setY(y);
-		alias.setWidth(width);
-		alias.setHeight(height);
-		return alias;
+	private Compartment createCompartment(double x, double y, double width, double height, String elementId) {
+		Compartment compartment = new Compartment(elementId);
+		compartment.setElementId(elementId);
+		compartment.setX(x);
+		compartment.setY(y);
+		compartment.setWidth(width);
+		compartment.setHeight(height);
+		return compartment;
 	}
 
-	private Species createSpeciesAlias(double x, double y, double width, double height, String aliasId) {
-		SimpleMolecule alias = new SimpleMolecule(aliasId);
-		alias.setX(x);
-		alias.setY(y);
-		alias.setWidth(width);
-		alias.setHeight(height);
-		return alias;
+	private Species createSpecies(double x, double y, double width, double height, String elementId) {
+		SimpleMolecule simpleMolecule = new SimpleMolecule(elementId);
+		simpleMolecule.setX(x);
+		simpleMolecule.setY(y);
+		simpleMolecule.setWidth(width);
+		simpleMolecule.setHeight(height);
+		return simpleMolecule;
 	}
 
-	private Complex createComplexAlias(double x, double y, double width, double height, String aliasId) {
-		Complex alias = new Complex(aliasId);
-		alias.setX(x);
-		alias.setY(y);
-		alias.setWidth(width);
-		alias.setHeight(height);
-		return alias;
+	private Complex createComplex(double x, double y, double width, double height, String elementId) {
+		Complex complex = new Complex(elementId);
+		complex.setX(x);
+		complex.setY(y);
+		complex.setWidth(width);
+		complex.setHeight(height);
+		return complex;
 	}
 
 	@Test
 	public void testCrossWithComplexElements() throws Exception {
 		try {
 			Model model = createCrossModel();
-			Element ldhbAlias1 = model.getElementByElementId("sa1422");
-			Element ldhbAlias2 = model.getElementByElementId("sa1419");
+			Element ldhb1 = model.getElementByElementId("sa1422");
+			Element ldhb2 = model.getElementByElementId("sa1419");
 
-			Compartment cytosolAlias = (Compartment) model.getElementByElementId("ca1");
+			Compartment cytosol = (Compartment) model.getElementByElementId("ca1");
 
-			assertTrue(cytosolAlias.cross(ldhbAlias1));
-			assertTrue(cytosolAlias.cross(ldhbAlias2));
+			assertTrue(cytosol.cross(ldhb1));
+			assertTrue(cytosol.cross(ldhb2));
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -236,9 +236,9 @@ public class CompartmentTest {
 	@Test
 	public void testConstructor() {
 		try {
-			Compartment alias = new Compartment();
-			alias.addElement(new GenericProtein("idd"));
-			Compartment copy = new Compartment(alias);
+			Compartment compartment = new Compartment();
+			compartment.addElement(new GenericProtein("idd"));
+			Compartment copy = new Compartment(compartment);
 			assertNotNull(copy);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -295,16 +295,16 @@ public class CompartmentTest {
 	}
 
 	@Test
-	public void testAddAlias() {
+	public void testAddElement() {
 		try {
-			Compartment alias = new Compartment();
+			Compartment compartment = new Compartment();
 
 			Species child = new GenericProtein("id");
 
-			alias.addElement(child);
-			alias.addElement(child);
+			compartment.addElement(child);
+			compartment.addElement(child);
 
-			assertEquals(1, alias.getElements().size());
+			assertEquals(1, compartment.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -313,15 +313,15 @@ public class CompartmentTest {
 	}
 
 	@Test
-	public void testAddInvalidAlias() {
+	public void testAddInvalidElement() {
 		try {
-			Compartment alias = new Compartment();
+			Compartment compartment = new Compartment();
 
 			Species child = new GenericProtein("id");
 			Species child2 = new GenericProtein("id");
 
-			alias.addElement(child);
-			alias.addElement(child2);
+			compartment.addElement(child);
+			compartment.addElement(child2);
 
 			fail("Exception expected");
 
@@ -333,16 +333,16 @@ public class CompartmentTest {
 	}
 
 	@Test
-	public void testGetAllAlias() {
+	public void testGetAllElements() {
 		try {
-			Compartment alias = new Compartment();
+			Compartment compartment = new Compartment();
 
 			Species child = new GenericProtein("id");
 			Compartment child2 = new Compartment();
 			child2.addElement(child);
-			alias.addElement(child2);
+			compartment.addElement(child2);
 
-			assertEquals(2, alias.getAllSubElements().size());
+			assertEquals(2, compartment.getAllSubElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -362,12 +362,12 @@ public class CompartmentTest {
 	}
 
 	@Test
-	public void testRemoveAlias() {
+	public void testRemoveElement() {
 		try {
 			Compartment comp = new Compartment();
 			Species protein = new GenericProtein("idd");
 			comp.addElement(protein);
-			protein.setCompartmentAlias(new Compartment());
+			protein.setCompartment(new Compartment());
 
 			comp.removeElement(protein);
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartmentTest.java
index 4b61f698f6..20ba0f3f69 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/LeftSquareCompartmentTest.java
@@ -36,8 +36,8 @@ public class LeftSquareCompartmentTest {
 	@Test
 	public void testConstructor1() {
 		try {
-			LeftSquareCompartment alias = new LeftSquareCompartment(new LeftSquareCompartment());
-			assertNotNull(alias);
+			LeftSquareCompartment compartment = new LeftSquareCompartment(new LeftSquareCompartment());
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -50,8 +50,8 @@ public class LeftSquareCompartmentTest {
 			Model model = new ModelFullIndexed(null);
 			model.setWidth(1);
 			model.setHeight(1);
-			LeftSquareCompartment alias = new LeftSquareCompartment(new Compartment(), model);
-			assertNotNull(alias);
+			LeftSquareCompartment compartment = new LeftSquareCompartment(new Compartment(), model);
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -61,8 +61,8 @@ public class LeftSquareCompartmentTest {
 	@Test
 	public void testCopy() {
 		try {
-			LeftSquareCompartment alias = new LeftSquareCompartment().copy();
-			assertNotNull(alias);
+			LeftSquareCompartment compartment = new LeftSquareCompartment().copy();
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/PathwayCompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/PathwayCompartmentTest.java
index 611b141499..eb1b298228 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/PathwayCompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/PathwayCompartmentTest.java
@@ -29,10 +29,10 @@ public class PathwayCompartmentTest {
 	public void test() throws Exception {
 		try {
 			CompartmentComparator comparator = new CompartmentComparator();
-			Compartment alias = new PathwayCompartment("id");
-			Compartment copy = alias.copy();
+			Compartment pathway = new PathwayCompartment("id");
+			Compartment copy = pathway.copy();
 
-			assertEquals(0, comparator.compare(alias, copy));
+			assertEquals(0, comparator.compare(pathway, copy));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -53,10 +53,10 @@ public class PathwayCompartmentTest {
 	@Test
 	public void testGetters() {
 		try {
-			PathwayCompartment alias = new PathwayCompartment("id");
+			PathwayCompartment pathway = new PathwayCompartment("id");
 			String title = "tit27";
-			alias.setName(title);
-			assertEquals(title, alias.getName());
+			pathway.setName(title);
+			assertEquals(title, pathway.getName());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartmentTest.java
index 1135e99739..364a71fd35 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartmentTest.java
@@ -37,8 +37,8 @@ public class RightSquareCompartmentTest {
 	@Test
 	public void testConstructor1() {
 		try {
-			RightSquareCompartment alias = new RightSquareCompartment(new RightSquareCompartment());
-			assertNotNull(alias);
+			RightSquareCompartment compartment = new RightSquareCompartment(new RightSquareCompartment());
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -51,8 +51,8 @@ public class RightSquareCompartmentTest {
 			Model model = new ModelFullIndexed(null);
 			model.setWidth(1);
 			model.setHeight(1);
-			RightSquareCompartment alias = new RightSquareCompartment(new Compartment(), model);
-			assertNotNull(alias);
+			RightSquareCompartment compartment = new RightSquareCompartment(new Compartment(), model);
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -62,8 +62,8 @@ public class RightSquareCompartmentTest {
 	@Test
 	public void testCopy() {
 		try {
-			RightSquareCompartment alias = new RightSquareCompartment().copy();
-			assertNotNull(alias);
+			RightSquareCompartment compartment = new RightSquareCompartment().copy();
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -73,9 +73,9 @@ public class RightSquareCompartmentTest {
 	@Test
 	public void testSetPoint() {
 		try {
-			RightSquareCompartment alias = new RightSquareCompartment();
-			alias.setPoint("10", "10");
-			assertTrue(alias.getWidth() < 0);
+			RightSquareCompartment compartment = new RightSquareCompartment();
+			compartment.setPoint("10", "10");
+			assertTrue(compartment.getWidth() < 0);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartmentTest.java
index 244fa59044..f87750199c 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/TopSquareCompartmentTest.java
@@ -39,8 +39,8 @@ public class TopSquareCompartmentTest {
 	@Test
 	public void testConstructor1() {
 		try {
-			TopSquareCompartment alias = new TopSquareCompartment(new TopSquareCompartment());
-			assertNotNull(alias);
+			TopSquareCompartment compartment = new TopSquareCompartment(new TopSquareCompartment());
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -53,8 +53,8 @@ public class TopSquareCompartmentTest {
 			Model model = new ModelFullIndexed(null);
 			model.setWidth(1);
 			model.setHeight(1);
-			TopSquareCompartment alias = new TopSquareCompartment(new Compartment(), model);
-			assertNotNull(alias);
+			TopSquareCompartment compartment = new TopSquareCompartment(new Compartment(), model);
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -64,8 +64,8 @@ public class TopSquareCompartmentTest {
 	@Test
 	public void testCopy() {
 		try {
-			TopSquareCompartment alias = new TopSquareCompartment().copy();
-			assertNotNull(alias);
+			TopSquareCompartment compartment = new TopSquareCompartment().copy();
+			assertNotNull(compartment);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/layout/ElementGroupTest.java b/model/src/test/java/lcsb/mapviewer/model/map/layout/ElementGroupTest.java
index 2d82745194..b8673bb117 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/layout/ElementGroupTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/layout/ElementGroupTest.java
@@ -39,13 +39,13 @@ public class ElementGroupTest {
 		try {
 			ElementGroup group = new ElementGroup();
 			String idGroup = "str";
-			List<Element> aliases = new ArrayList<>();
+			List<Element> elements = new ArrayList<>();
 
 			group.setIdGroup(idGroup);
-			group.setAliases(aliases);
+			group.setElements(elements);
 
 			assertEquals(idGroup, group.getIdGroup());
-			assertEquals(aliases, group.getAliases());
+			assertEquals(elements, group.getElements());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -53,11 +53,11 @@ public class ElementGroupTest {
 	}
 
 	@Test
-	public void testAddAlias() {
+	public void testAddElement() {
 		try {
 			ElementGroup group = new ElementGroup();
-			group.addAlias(new GenericProtein("id"));
-			assertEquals(1, group.getAliases().size());
+			group.addElement(new GenericProtein("id"));
+			assertEquals(1, group.getElements().size());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/AllModelTests.java b/model/src/test/java/lcsb/mapviewer/model/map/model/AllModelTests.java
index eae880a50f..b111535413 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/AllModelTests.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/AllModelTests.java
@@ -1,21 +1,21 @@
-package lcsb.mapviewer.model.map.model;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-@RunWith(Suite.class)
-@SuiteClasses({ AliasSubmodelConnectionComparatorTest.class, //
-		AliasSubmodelConnectionTest.class, //
-		ModelComparatorTest.class, //
-		ModelDataTest.class, //
-		ModelFullIndexedTest.class, //
-		ModelSubmodelConnectionComparatorTest.class, //
-		ModelSubmodelConnectionTest.class, //
-		ModelTest.class, //
-		SubmodelConnectionComparatorTest.class,//
-		SubmodelTypeTest.class,//
-})
-public class AllModelTests {
-
-}
+package lcsb.mapviewer.model.map.model;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({ ElementSubmodelConnectionComparatorTest.class, //
+		ElementSubmodelConnectionTest.class, //
+		ModelComparatorTest.class, //
+		ModelDataTest.class, //
+		ModelFullIndexedTest.class, //
+		ModelSubmodelConnectionComparatorTest.class, //
+		ModelSubmodelConnectionTest.class, //
+		ModelTest.class, //
+		SubmodelConnectionComparatorTest.class,//
+		SubmodelTypeTest.class,//
+})
+public class AllModelTests {
+
+}
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparatorTest.java
similarity index 63%
rename from model/src/test/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionComparatorTest.java
rename to model/src/test/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparatorTest.java
index 56b498f591..742f507357 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparatorTest.java
@@ -15,9 +15,9 @@ import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
-public class AliasSubmodelConnectionComparatorTest {
+public class ElementSubmodelConnectionComparatorTest {
 
-	AliasSubmodelConnectionComparator comparator = new AliasSubmodelConnectionComparator();
+	ElementSubmodelConnectionComparator comparator = new ElementSubmodelConnectionComparator();
 
 	@Before
 	public void setUp() throws Exception {
@@ -30,10 +30,10 @@ public class AliasSubmodelConnectionComparatorTest {
 	@Test
 	public void testEquals() throws Exception {
 		try {
-			AliasSubmodelConnection connectionA = createConnection();
-			AliasSubmodelConnection connectionB = createConnection();
+			ElementSubmodelConnection connectionA = createConnection();
+			ElementSubmodelConnection connectionB = createConnection();
 
-			assertEquals(0, comparator.compare(new AliasSubmodelConnection(), new AliasSubmodelConnection()));
+			assertEquals(0, comparator.compare(new ElementSubmodelConnection(), new ElementSubmodelConnection()));
 			assertEquals(0, comparator.compare(connectionA, connectionB));
 			assertEquals(0, comparator.compare(connectionA, connectionA));
 			assertEquals(0, comparator.compare(null, null));
@@ -47,20 +47,20 @@ public class AliasSubmodelConnectionComparatorTest {
 	@Test
 	public void testDifferent() throws Exception {
 		try {
-			AliasSubmodelConnection connectionA = createConnection();
-			AliasSubmodelConnection connectionB = createConnection();
+			ElementSubmodelConnection connectionA = createConnection();
+			ElementSubmodelConnection connectionB = createConnection();
 
 			assertTrue(comparator.compare(null, connectionB) != 0);
 			assertTrue(comparator.compare(connectionA, null) != 0);
 
-			connectionA.setFromAlias(null);
+			connectionA.setFromElement(null);
 			assertTrue(comparator.compare(connectionA, connectionB) != 0);
 			assertTrue(comparator.compare(connectionB, connectionA) != 0);
 
 			connectionA = createConnection();
 			connectionB = createConnection();
 
-			connectionA.getFromAlias().setWidth(1234567);
+			connectionA.getFromElement().setWidth(1234567);
 
 			assertTrue(comparator.compare(connectionA, connectionB) != 0);
 			assertTrue(comparator.compare(connectionB, connectionA) != 0);
@@ -68,19 +68,19 @@ public class AliasSubmodelConnectionComparatorTest {
 			connectionA = createConnection();
 			connectionB = createConnection();
 
-			connectionA.setToAlias(null);
+			connectionA.setToElement(null);
 			assertTrue(comparator.compare(connectionA, connectionB) != 0);
 			assertTrue(comparator.compare(connectionB, connectionA) != 0);
 
 			connectionA = createConnection();
 			connectionB = createConnection();
 
-			connectionA.getToAlias().setWidth(1234567);
+			connectionA.getToElement().setWidth(1234567);
 
 			assertTrue(comparator.compare(connectionA, connectionB) != 0);
 			assertTrue(comparator.compare(connectionB, connectionA) != 0);
 
-			assertTrue(comparator.compare(connectionB, new AliasSubmodelConnection() {
+			assertTrue(comparator.compare(connectionB, new ElementSubmodelConnection() {
 				private static final long serialVersionUID = 1L;
 			}) != 0);
 
@@ -98,9 +98,9 @@ public class AliasSubmodelConnectionComparatorTest {
 		protein.setName("ad");
 		model.addElement(protein);
 
-		GenericProtein alias = new GenericProtein("a_id");
-		alias.setName("ad");
-		model.addElement(alias);
+		GenericProtein protein2 = new GenericProtein("a_id");
+		protein2.setName("ad");
+		model.addElement(protein2);
 
 		model.addElement(new Compartment("default"));
 
@@ -112,18 +112,18 @@ public class AliasSubmodelConnectionComparatorTest {
 		return model;
 	}
 
-	private AliasSubmodelConnection createConnection() {
-		AliasSubmodelConnection result = new AliasSubmodelConnection(getModel(), SubmodelType.DOWNSTREAM_TARGETS);
+	private ElementSubmodelConnection createConnection() {
+		ElementSubmodelConnection result = new ElementSubmodelConnection(getModel(), SubmodelType.DOWNSTREAM_TARGETS);
 		result.setName("name A");
-		result.setFromAlias(createAlias());
-		result.setToAlias(createAlias());
+		result.setFromElement(createElement());
+		result.setToElement(createElement());
 		return result;
 	}
 
-	private Element createAlias() {
-		Element alias = new GenericProtein("alias_id");
-		alias.setColor(Color.BLACK);
-		return alias;
+	private Element createElement() {
+		Element protein = new GenericProtein("protein_id");
+		protein.setColor(Color.BLACK);
+		return protein;
 	}
 
 }
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionTest.java
similarity index 65%
rename from model/src/test/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionTest.java
rename to model/src/test/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionTest.java
index c07be70f0e..941aeb1dff 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/AliasSubmodelConnectionTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionTest.java
@@ -10,7 +10,7 @@ import org.junit.Test;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
-public class AliasSubmodelConnectionTest {
+public class ElementSubmodelConnectionTest {
 
 	@Before
 	public void setUp() throws Exception {
@@ -23,7 +23,7 @@ public class AliasSubmodelConnectionTest {
 	@Test
 	public void testSerialization() {
 		try {
-			SerializationUtils.serialize(new AliasSubmodelConnection());
+			SerializationUtils.serialize(new ElementSubmodelConnection());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -33,7 +33,7 @@ public class AliasSubmodelConnectionTest {
 	@Test
 	public void testConstructor() {
 		try {
-			AliasSubmodelConnection connection = new AliasSubmodelConnection(new ModelData(), SubmodelType.DOWNSTREAM_TARGETS);
+			ElementSubmodelConnection connection = new ElementSubmodelConnection(new ModelData(), SubmodelType.DOWNSTREAM_TARGETS);
 			assertNotNull(connection);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -44,7 +44,7 @@ public class AliasSubmodelConnectionTest {
 	@Test
 	public void testConstructor2() {
 		try {
-			AliasSubmodelConnection connection = new AliasSubmodelConnection(new AliasSubmodelConnection(new ModelData(), SubmodelType.DOWNSTREAM_TARGETS));
+			ElementSubmodelConnection connection = new ElementSubmodelConnection(new ElementSubmodelConnection(new ModelData(), SubmodelType.DOWNSTREAM_TARGETS));
 			assertNotNull(connection);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -55,7 +55,7 @@ public class AliasSubmodelConnectionTest {
 	@Test
 	public void testConstructor3() {
 		try {
-			AliasSubmodelConnection connection = new AliasSubmodelConnection(new ModelFullIndexed(null), SubmodelType.DOWNSTREAM_TARGETS, "sd");
+			ElementSubmodelConnection connection = new ElementSubmodelConnection(new ModelFullIndexed(null), SubmodelType.DOWNSTREAM_TARGETS, "sd");
 			assertNotNull(connection);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -66,7 +66,7 @@ public class AliasSubmodelConnectionTest {
 	@Test
 	public void testCopy() {
 		try {
-			AliasSubmodelConnection connection = new AliasSubmodelConnection().copy();
+			ElementSubmodelConnection connection = new ElementSubmodelConnection().copy();
 			assertNotNull(connection);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -77,7 +77,7 @@ public class AliasSubmodelConnectionTest {
 	@Test
 	public void testInvalidCopy() {
 		try {
-			new AliasSubmodelConnection() {
+			new ElementSubmodelConnection() {
 
 				/**
 				 * 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
index e698bf4ad6..d8c2048b8f 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
@@ -84,16 +84,16 @@ public class ModelComparatorTest {
 			Model model1 = getModel();
 			Model model2 = getModel();
 
-			Compartment alias = new PathwayCompartment("1");
-			Compartment alias2 = new PathwayCompartment("12");
-			model1.addElement(alias);
-			model1.addElement(alias2);
+			Compartment compartment = new PathwayCompartment("1");
+			Compartment compartment2 = new PathwayCompartment("12");
+			model1.addElement(compartment);
+			model1.addElement(compartment2);
 
-			alias = new PathwayCompartment("1");
-			alias2 = new PathwayCompartment("12");
-			model2.addElement(alias);
-			model2.addElement(alias2);
-			alias2.setElementId("1");
+			compartment = new PathwayCompartment("1");
+			compartment2 = new PathwayCompartment("12");
+			model2.addElement(compartment);
+			model2.addElement(compartment2);
+			compartment2.setElementId("1");
 
 			assertTrue(comparator.compare(model1, model2) != 0);
 			assertTrue(comparator.compare(model2, model1) != 0);
@@ -141,11 +141,11 @@ public class ModelComparatorTest {
 			Model model1 = getModel();
 			Model model2 = getModel();
 
-			Species mockAlias = Mockito.mock(Species.class);
-			when(mockAlias.getElementId()).thenReturn("1");
-			model1.addElement(mockAlias);
+			Species mockSpecies = Mockito.mock(Species.class);
+			when(mockSpecies.getElementId()).thenReturn("1");
+			model1.addElement(mockSpecies);
 
-			model2.addElement(mockAlias);
+			model2.addElement(mockSpecies);
 
 			try {
 				comparator.compare(model1, model2);
@@ -188,9 +188,9 @@ public class ModelComparatorTest {
 			model1 = getModel();
 			model2 = getModel();
 
-			GenericProtein alias = new GenericProtein("SAd");
+			GenericProtein protein = new GenericProtein("SAd");
 
-			model1.addElement(alias);
+			model1.addElement(protein);
 
 			assertTrue(comparator.compare(model1, model2) != 0);
 			assertTrue(comparator.compare(model2, model1) != 0);
@@ -198,7 +198,7 @@ public class ModelComparatorTest {
 			model1 = getModel();
 			model2 = getModel();
 
-			model1.getAliases().iterator().next().setElementId("sdfsd");
+			model1.getElements().iterator().next().setElementId("sdfsd");
 
 			assertTrue(comparator.compare(model1, model2) != 0);
 			assertTrue(comparator.compare(model2, model1) != 0);
@@ -246,7 +246,7 @@ public class ModelComparatorTest {
 			model1 = getModel();
 			model2 = getModel();
 
-			model1.getAliases().iterator().next().addMiriamData(new MiriamData(MiriamRelationType.BQ_BIOL_HAS_PART, MiriamType.CHEBI, "c"));
+			model1.getElements().iterator().next().addMiriamData(new MiriamData(MiriamRelationType.BQ_BIOL_HAS_PART, MiriamType.CHEBI, "c"));
 
 			assertTrue(comparator.compare(model1, model2) != 0);
 			assertTrue(comparator.compare(model2, model1) != 0);
@@ -382,10 +382,10 @@ public class ModelComparatorTest {
 	private Model getModel() {
 		Model model = new ModelFullIndexed(null);
 		model.setNotes("Some description");
-		GenericProtein alias = new GenericProtein("a_id");
-		alias.setName("ad");
+		GenericProtein protein = new GenericProtein("a_id");
+		protein.setName("ad");
 
-		model.addElement(alias);
+		model.addElement(protein);
 
 		model.addElement(new Compartment("default"));
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java
index e5031f22c3..aad0ee4aae 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelDataTest.java
@@ -48,13 +48,13 @@ public class ModelDataTest {
 	}
 
 	@Test
-	public void testAddAliases() {
+	public void testAddElements() {
 		try {
 			ModelData md = new ModelData();
-			List<Element> aliases = new ArrayList<>();
-			aliases.add(new GenericProtein("unk_id"));
-			md.addAliases(aliases);
-			assertEquals(1, md.getAliases().size());
+			List<Element> elements = new ArrayList<>();
+			elements.add(new GenericProtein("unk_id"));
+			md.addElements(elements);
+			assertEquals(1, md.getElements().size());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -65,9 +65,9 @@ public class ModelDataTest {
 	public void testAddReactions() {
 		try {
 			ModelData md = new ModelData();
-			List<Reaction> aliases = new ArrayList<>();
-			aliases.add(new Reaction());
-			md.addReactions(aliases);
+			List<Reaction> reactions = new ArrayList<>();
+			reactions.add(new Reaction());
+			md.addReactions(reactions);
 			assertEquals(1, md.getReactions().size());
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -79,9 +79,9 @@ public class ModelDataTest {
 	public void testAddLayers() {
 		try {
 			ModelData md = new ModelData();
-			List<Layer> aliases = new ArrayList<>();
-			aliases.add(new Layer());
-			md.addLayers(aliases);
+			List<Layer> layers = new ArrayList<>();
+			layers.add(new Layer());
+			md.addLayers(layers);
 			assertEquals(1, md.getLayers().size());
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -90,10 +90,10 @@ public class ModelDataTest {
 	}
 
 	@Test
-	public void testAddAliasGroup() {
+	public void testAddElementGroup() {
 		try {
 			ModelData md = new ModelData();
-			md.addAliasGroup(null);
+			md.addElementGroup(null);
 			// not implemented for now
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -141,10 +141,10 @@ public class ModelDataTest {
 	}
 
 	@Test
-	public void testRemoveAlias1() {
+	public void testRemoveElement1() {
 		try {
 			ModelData md = new ModelData();
-			md.removeAlias(null);
+			md.removeElement(null);
 			fail("Exception expected");
 		} catch (InvalidArgumentException e) {
 		} catch (Exception e) {
@@ -154,10 +154,10 @@ public class ModelDataTest {
 	}
 
 	@Test
-	public void testRemoveAlias2() {
+	public void testRemoveElement2() {
 		try {
 			ModelData md = new ModelData();
-			md.removeAlias(new GenericProtein("unk_id"));
+			md.removeElement(new GenericProtein("unk_id"));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -165,14 +165,14 @@ public class ModelDataTest {
 	}
 
 	@Test
-	public void testRemoveAlias3() {
+	public void testRemoveElement3() {
 		try {
 			ModelData md = new ModelData();
-			Element alias = new GenericProtein("unk_id");
-			md.addAlias(alias);
-			assertEquals(1, md.getAliases().size());
-			md.removeAlias(alias);
-			assertEquals(0, md.getAliases().size());
+			Element protein = new GenericProtein("unk_id");
+			md.addElement(protein);
+			assertEquals(1, md.getElements().size());
+			md.removeElement(protein);
+			assertEquals(0, md.getElements().size());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -194,10 +194,10 @@ public class ModelDataTest {
 	public void testRemoveReaction3() {
 		try {
 			ModelData md = new ModelData();
-			Reaction alias = new Reaction();
-			md.addReaction(alias);
+			Reaction reaction = new Reaction();
+			md.addReaction(reaction);
 			assertEquals(1, md.getReactions().size());
-			md.removeReaction(alias);
+			md.removeReaction(reaction);
 			assertEquals(0, md.getReactions().size());
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -323,7 +323,7 @@ public class ModelDataTest {
 	public void testGetters() {
 		try {
 			ModelData md = new ModelData();
-			Set<Element> aliases = new HashSet<>();
+			Set<Element> elements = new HashSet<>();
 			List<Layout> layouts = new ArrayList<>();
 			Set<Layer> layers = new HashSet<>();
 			Set<Reaction> reactions = new HashSet<>();
@@ -352,8 +352,8 @@ public class ModelDataTest {
 			md.setId(id);
 			assertEquals(id, md.getId());
 
-			md.setAliases(aliases);
-			assertEquals(aliases, md.getAliases());
+			md.setElements(elements);
+			assertEquals(elements, md.getElements());
 
 			md.setProject(project);
 			assertEquals(project, md.getProject());
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
index ca457e1bc4..4dd1b0b7a7 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
@@ -59,23 +59,23 @@ public class ModelFullIndexedTest {
 	public void testConstructor() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
-			Species proteinAlias = new GenericProtein("1a");
-			Species proteinAlias2 = new GenericProtein("f");
-			Species proteinAlias3 = new GenericProtein("fa");
-
-			Element compartmentAlias = new Compartment("aaa");
-			Element compartmentAlias3 = new Compartment("aaa3");
-			Element compartmentAlias2 = new PathwayCompartment("aaa2");
-			model.addElement(proteinAlias);
-			model.addElement(proteinAlias2);
-			model.addElement(proteinAlias3);
-			model.addElement(compartmentAlias);
-			model.addElement(compartmentAlias2);
-			model.addElement(compartmentAlias3);
+			Species protein = new GenericProtein("1a");
+			Species protein2 = new GenericProtein("f");
+			Species protein3 = new GenericProtein("fa");
+
+			Element compartment = new Compartment("aaa");
+			Element compartment3 = new Compartment("aaa3");
+			Element compartment2 = new PathwayCompartment("aaa2");
+			model.addElement(protein);
+			model.addElement(protein2);
+			model.addElement(protein3);
+			model.addElement(compartment);
+			model.addElement(compartment2);
+			model.addElement(compartment3);
 
 			Reaction reaction = new TransportReaction();
-			reaction.addReactant(new Reactant(proteinAlias));
-			reaction.addProduct(new Product(proteinAlias2));
+			reaction.addReactant(new Reactant(protein));
+			reaction.addProduct(new Product(protein2));
 			model.addReaction(reaction);
 			model.setProject(new Project());
 
@@ -163,11 +163,11 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testAddInvalidAlias() {
+	public void testAddInvalidElement6() {
 		try {
-			Element alias = Mockito.mock(Element.class);
+			Element elementMock = Mockito.mock(Element.class);
 			ModelFullIndexed model = new ModelFullIndexed(null);
-			model.addElement(alias);
+			model.addElement(elementMock);
 
 			new ModelFullIndexed(model.getModelData());
 
@@ -181,15 +181,15 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testAddInvalidSpeciesAlias5() {
+	public void testAddInvalidElement5() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
-			Complex alias = new Complex("1");
+			Complex complex = new Complex("1");
 
-			model.addElement(alias);
+			model.addElement(complex);
 			try {
-				model.addElement(alias);
+				model.addElement(complex);
 				fail("Exception expected");
 			} catch (InvalidArgumentException e) {
 			}
@@ -215,23 +215,23 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testAddSpeciesAliasWithParent() {
+	public void testAddSpeciesWithParent() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
 			model.addElement(new Compartment("default"));
 
-			Complex alias = new Complex("1");
+			Complex complex = new Complex("1");
 
-			Element proteinAlias = new GenericProtein("asd");
-			proteinAlias.setElementId("zz");
-			proteinAlias.setParent(alias);
+			Element protein = new GenericProtein("asd");
+			protein.setElementId("zz");
+			protein.setParent(complex);
 
-			model.addElement(alias);
+			model.addElement(complex);
 
-			model.addElement(proteinAlias);
+			model.addElement(protein);
 
-			assertEquals(3, model.getAliases().size());
+			assertEquals(3, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -240,25 +240,25 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testAddSpeciesAliasWithParentWithCompartment() {
+	public void testAddSpeciesWithParentWithCompartment() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
-			Compartment compAlias = new Compartment("default");
-			model.addElement(compAlias);
+			Compartment compartment = new Compartment("default");
+			model.addElement(compartment);
 
-			Complex alias = new Complex("1");
-			alias.setParent(compAlias);
+			Complex complex = new Complex("1");
+			complex.setParent(compartment);
 
-			Element proteinAlias = new GenericProtein("asd");
-			proteinAlias.setElementId("zz");
-			proteinAlias.setParent(alias);
+			Element protein = new GenericProtein("asd");
+			protein.setElementId("zz");
+			protein.setParent(complex);
 
-			model.addElement(alias);
+			model.addElement(complex);
 
-			model.addElement(proteinAlias);
+			model.addElement(protein);
 
-			assertEquals(3, model.getAliases().size());
+			assertEquals(3, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -267,15 +267,15 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testGetAliasByAliasId() {
+	public void testGetElementByElementId() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
 			assertNull(model.getElementByElementId("id"));
-			Species alias = new GenericProtein("asd");
-			alias.setElementId("id");
+			Species protein = new GenericProtein("asd");
+			protein.setElementId("id");
 
-			model.addElement(alias);
+			model.addElement(protein);
 
 			assertNotNull(model.getElementByElementId("id"));
 
@@ -286,16 +286,16 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testAddCompartmentAlias2() {
+	public void testAddCompartment2() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
-			Compartment alias = new Compartment("1");
+			Compartment compartment = new Compartment("1");
 
-			assertEquals(0, model.getCompartmentsAliases().size());
-			model.addElement(alias);
-			assertEquals(1, model.getCompartmentsAliases().size());
-			model.addElement(alias);
+			assertEquals(0, model.getCompartments().size());
+			model.addElement(compartment);
+			assertEquals(1, model.getCompartments().size());
+			model.addElement(compartment);
 
 			fail("Exception expected");
 		} catch (InvalidArgumentException e) {
@@ -340,15 +340,15 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testGetAliasByDbId() {
+	public void testGetElementByDbId() {
 		try {
-			int aliasId = 12;
+			int elementId = 12;
 			ModelFullIndexed model = new ModelFullIndexed(null);
-			Element alias = new GenericProtein("1");
-			alias.setId(aliasId);
-			assertNull(model.getAliasByDbId(aliasId));
-			model.addElement(alias);
-			assertEquals(alias, model.getAliasByDbId(aliasId));
+			Element protein = new GenericProtein("1");
+			protein.setId(elementId);
+			assertNull(model.getElementByDbId(elementId));
+			model.addElement(protein);
+			assertEquals(protein, model.getElementByDbId(elementId));
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -357,26 +357,26 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testGetSortedCompartmentAliases() {
+	public void testGetSortedCompartments() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
-			Compartment alias = new Compartment("a1");
-			alias.setWidth(12);
-			alias.setHeight(12);
-			model.addElement(alias);
-			alias = new Compartment("a2");
-			alias.setWidth(14);
-			alias.setHeight(14);
-			model.addElement(alias);
-			alias = new Compartment("a3");
-			alias.setWidth(13);
-			alias.setHeight(13);
-			model.addElement(alias);
+			Compartment compartment = new Compartment("a1");
+			compartment.setWidth(12);
+			compartment.setHeight(12);
+			model.addElement(compartment);
+			compartment = new Compartment("a2");
+			compartment.setWidth(14);
+			compartment.setHeight(14);
+			model.addElement(compartment);
+			compartment = new Compartment("a3");
+			compartment.setWidth(13);
+			compartment.setHeight(13);
+			model.addElement(compartment);
 
-			List<Compartment> aliases = model.getSortedCompartmentsAliases();
-			assertEquals(196.0, aliases.get(0).getSize(), Configuration.EPSILON);
-			assertEquals(169.0, aliases.get(1).getSize(), Configuration.EPSILON);
-			assertEquals(144.0, aliases.get(2).getSize(), Configuration.EPSILON);
+			List<Compartment> compartments = model.getSortedCompartments();
+			assertEquals(196.0, compartments.get(0).getSize(), Configuration.EPSILON);
+			assertEquals(169.0, compartments.get(1).getSize(), Configuration.EPSILON);
+			assertEquals(144.0, compartments.get(2).getSize(), Configuration.EPSILON);
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -385,22 +385,22 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testRemoveCompartmentAliases() {
+	public void testRemoveCompartment2() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
-			Compartment alias = new Compartment("a1");
-			alias.setWidth(12);
-			alias.setHeight(12);
-			model.addElement(alias);
+			Compartment compartment = new Compartment("a1");
+			compartment.setWidth(12);
+			compartment.setHeight(12);
+			model.addElement(compartment);
 
-			alias = new Compartment("a2");
-			alias.setWidth(14);
-			alias.setHeight(14);
-			model.addElement(alias);
-			assertEquals(2, model.getAliases().size());
+			compartment = new Compartment("a2");
+			compartment.setWidth(14);
+			compartment.setHeight(14);
+			model.addElement(compartment);
+			assertEquals(2, model.getElements().size());
 
-			model.removeAlias(alias);
-			assertEquals(1, model.getAliases().size());
+			model.removeElement(compartment);
+			assertEquals(1, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -409,37 +409,37 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testAddAliases() {
+	public void testAddElements() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
-			Compartment alias = new Compartment("1");
-			alias.setWidth(100);
-			alias.setHeight(100);
-			List<Element> aliases = new ArrayList<>();
-			aliases.add(alias);
+			Compartment compartment = new Compartment("1");
+			compartment.setWidth(100);
+			compartment.setHeight(100);
+			List<Element> elements = new ArrayList<>();
+			elements.add(compartment);
 
-			Complex cAlias = new Complex("ca1");
-			aliases.add(cAlias);
-			cAlias.setWidth(10);
-			cAlias.setHeight(10);
+			Complex complex = new Complex("ca1");
+			elements.add(complex);
+			complex.setWidth(10);
+			complex.setHeight(10);
 
-			Species sAlias = new GenericProtein("a1");
-			aliases.add(sAlias);
-			sAlias.setWidth(20);
-			sAlias.setHeight(20);
+			Species species = new GenericProtein("a1");
+			elements.add(species);
+			species.setWidth(20);
+			species.setHeight(20);
 
-			assertEquals(0, model.getCompartmentsAliases().size());
-			model.addAliases(aliases);
-			assertEquals(1, model.getCompartmentsAliases().size());
+			assertEquals(0, model.getCompartments().size());
+			model.addElements(elements);
+			assertEquals(1, model.getCompartments().size());
 			assertEquals(1, model.getComplexList().size());
 			assertEquals(1, model.getNotComplexSpeciesList().size());
 
-			List<Element> sortedAliases = model.getSortedSpeciesList();
+			List<Element> sortedSpecies = model.getSortedSpeciesList();
 
-			assertEquals(alias, sortedAliases.get(0));
-			assertEquals(sAlias, sortedAliases.get(1));
-			assertEquals(cAlias, sortedAliases.get(2));
+			assertEquals(compartment, sortedSpecies.get(0));
+			assertEquals(species, sortedSpecies.get(1));
+			assertEquals(complex, sortedSpecies.get(2));
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -488,10 +488,10 @@ public class ModelFullIndexedTest {
 
 			model.addElement(compartment);
 
-			assertEquals(1, model.getAliases().size());
+			assertEquals(1, model.getElements().size());
 
-			model.removeAlias(compartment);
-			assertEquals(0, model.getAliases().size());
+			model.removeElement(compartment);
+			assertEquals(0, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -500,28 +500,28 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testRemoveComplexAlias() {
+	public void testRemoveComplex() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 			model.addElement(new Compartment("default"));
 
-			Complex parentAlias = new Complex("a");
+			Complex parentComplex = new Complex("a");
 
-			Complex alias = new Complex("b");
-			alias.setParent(parentAlias);
-			alias.setElementId("1");
+			Complex childComplex = new Complex("b");
+			childComplex.setParent(parentComplex);
+			childComplex.setElementId("1");
 
-			alias.setCompartmentAlias(new Compartment("comp_alias"));
-			alias.setComplexAlias(new Complex("d"));
+			childComplex.setCompartment(new Compartment("comp_id"));
+			childComplex.setComplex(new Complex("d"));
 
-			model.addElement(alias);
+			model.addElement(childComplex);
 
-			assertEquals(2, model.getAliases().size());
+			assertEquals(2, model.getElements().size());
 
-			alias.setComplexAlias(new Complex("xxx"));
+			childComplex.setComplex(new Complex("xxx"));
 
-			model.removeAlias(alias);
-			assertEquals(1, model.getAliases().size());
+			model.removeElement(childComplex);
+			assertEquals(1, model.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -530,14 +530,14 @@ public class ModelFullIndexedTest {
 	}
 
 	@Test
-	public void testRemoveInvalidAlias2() {
+	public void testRemoveInvalidElement2() {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
-			Element alias = new GenericProtein("id");
-			alias.setParent(Mockito.mock(Element.class));
+			Element protein = new GenericProtein("id");
+			protein.setParent(Mockito.mock(Element.class));
 
-			model.removeAlias(alias);
+			model.removeElement(protein);
 
 			fail("Exception expected");
 		} catch (InvalidArgumentException e) {
@@ -669,7 +669,7 @@ public class ModelFullIndexedTest {
 		try {
 			ModelFullIndexed model = new ModelFullIndexed(null);
 
-			model.addAliasGroup(null);
+			model.addElementGroup(null);
 			model.addBlockDiagream(null);
 
 		} catch (Exception e) {
@@ -831,7 +831,7 @@ public class ModelFullIndexedTest {
 			Double height = 13.0;
 			String heightStr = "13.0";
 			int heightInt = 13;
-			Set<Element> aliases = new HashSet<>();
+			Set<Element> elements = new HashSet<>();
 			List<Layout> layouts = new ArrayList<>();
 			int zoomLevels = 98;
 			int tileSize = 1024;
@@ -866,8 +866,8 @@ public class ModelFullIndexedTest {
 			model.setMapVersion(mapVersion);
 			assertEquals(mapVersion, model.getMapVersion());
 
-			model.setAliases(aliases);
-			assertEquals(aliases, model.getAliases());
+			model.setElements(elements);
+			assertEquals(elements, model.getElements());
 			model.setLayouts(layouts);
 			assertEquals(layouts, model.getLayouts());
 			model.setZoomLevels(zoomLevels);
@@ -903,8 +903,8 @@ public class ModelFullIndexedTest {
 			Reaction reaction = new Reaction();
 			reaction.setIdReaction(reactionId);
 			model.addReaction(reaction);
-			Species alias = new GenericProtein("2");
-			model.addElement(alias);
+			Species protein = new GenericProtein("2");
+			model.addElement(protein);
 
 			Collection<AnnotatedObject> obj = model.getAnnotatedObjects();
 			assertEquals(2, obj.size());
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparatorTest.java
index 39759fa416..daeeda9fcc 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparatorTest.java
@@ -86,9 +86,9 @@ public class ModelSubmodelConnectionComparatorTest {
 
 		model.setNotes("Some description");
 
-		Species alias = new GenericProtein("a_id");
-		alias.setName("ad");
-		model.addElement(alias);
+		Species species = new GenericProtein("a_id");
+		species.setName("ad");
+		model.addElement(species);
 
 		model.addElement(new Compartment("default"));
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java
index 2325cd8ab9..93808c4c64 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java
@@ -21,26 +21,26 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
 import lcsb.mapviewer.model.map.reaction.Reaction;
-import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Complex;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ModelTest {
-	Logger									 logger	= Logger.getLogger(ModelTest.class);
+	Logger					logger = Logger.getLogger(ModelTest.class);
 
-	private Species		 alias;
+	private Species	species;
 
-	private Complex		 cAlias;
-	private Model						 model;
+	private Complex	complex;
+	private Model		model;
 
 	@Before
 	public void setUp() throws Exception {
 		model = new ModelFullIndexed(null);
 
-		alias = new GenericProtein("sa1");
+		species = new GenericProtein("sa1");
 
-		cAlias = new Complex("sa2");
+		complex = new Complex("sa2");
 
 	}
 
@@ -49,13 +49,13 @@ public class ModelTest {
 	}
 
 	@Test
-	public void testAddAlias() {
+	public void testAddElement() {
 		try {
-			model.addElement(alias);
-			Element sAlias = model.getElementByElementId(alias.getElementId());
-			assertNotNull(sAlias);
-			sAlias = model.getElementByElementId(alias.getElementId() + "blbla");
-			assertNull(sAlias);
+			model.addElement(species);
+			Element element = model.getElementByElementId(species.getElementId());
+			assertNotNull(element);
+			element = model.getElementByElementId(species.getElementId() + "blbla");
+			assertNull(element);
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -64,25 +64,25 @@ public class ModelTest {
 	}
 
 	@Test
-	public void testGetAliasList() {
+	public void testGetElements() {
 		try {
-			Set<Element> aliases = model.getAliases();
-			assertEquals(0, aliases.size());
-			model.addElement(alias);
-			assertEquals(1, aliases.size());
+			Set<Element> elements = model.getElements();
+			assertEquals(0, elements.size());
+			model.addElement(species);
+			assertEquals(1, elements.size());
 
-			Element sAlias = model.getElementByElementId(alias.getElementId());
-			assertNotNull(sAlias);
-			sAlias = model.getElementByElementId(alias.getElementId() + "blbla");
-			assertNull(sAlias);
+			Element element = model.getElementByElementId(species.getElementId());
+			assertNotNull(element);
+			element = model.getElementByElementId(species.getElementId() + "blbla");
+			assertNull(element);
 
-			sAlias = model.getElementByElementId(cAlias.getElementId());
-			assertNull(sAlias);
+			element = model.getElementByElementId(complex.getElementId());
+			assertNull(element);
 
-			model.addElement(cAlias);
-			assertEquals(2, aliases.size());
-			sAlias = model.getElementByElementId(cAlias.getElementId());
-			assertNotNull(sAlias);
+			model.addElement(complex);
+			assertEquals(2, elements.size());
+			element = model.getElementByElementId(complex.getElementId());
+			assertNotNull(element);
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -153,28 +153,28 @@ public class ModelTest {
 	private Model createModel() {
 		Model model = new ModelFullIndexed(null);
 
-		Species proteinAlias = new GenericProtein("sa1");
-		proteinAlias.setName("s1");
-		model.addElement(proteinAlias);
+		Species protein = new GenericProtein("sa1");
+		protein.setName("s1");
+		model.addElement(protein);
 
-		Species proteinAlias2 = new GenericProtein("sa2");
-		proteinAlias2.setName("s1");
-		model.addElement(proteinAlias2);
+		Species protein2 = new GenericProtein("sa2");
+		protein2.setName("s1");
+		model.addElement(protein2);
 
-		Species proteinAlias3 = new GenericProtein("sa3");
-		proteinAlias3.setName("s1");
-		model.addElement(proteinAlias3);
+		Species protein3 = new GenericProtein("sa3");
+		protein3.setName("s1");
+		model.addElement(protein3);
 
-		Species proteinAlias4 = new GenericProtein("sa4");
-		proteinAlias4.setName("s5");
-		proteinAlias4.addMiriamData(new MiriamData(MiriamRelationType.BQ_MODEL_IS, MiriamType.CHEMBL_TARGET, "CHEMBL12345"));
-		model.addElement(proteinAlias4);
+		Species protein4 = new GenericProtein("sa4");
+		protein4.setName("s5");
+		protein4.addMiriamData(new MiriamData(MiriamRelationType.BQ_MODEL_IS, MiriamType.CHEMBL_TARGET, "CHEMBL12345"));
+		model.addElement(protein4);
 
-		Compartment compartmentAlias = new Compartment("cca");
-		compartmentAlias.setName("c1");
-		compartmentAlias.addMiriamData(new MiriamData(MiriamRelationType.BQ_MODEL_IS, MiriamType.CHEBI, "CHEBI:12"));
+		Compartment compartment = new Compartment("cca");
+		compartment.setName("c1");
+		compartment.addMiriamData(new MiriamData(MiriamRelationType.BQ_MODEL_IS, MiriamType.CHEBI, "CHEBI:12"));
 
-		model.addElement(compartmentAlias);
+		model.addElement(compartment);
 
 		return model;
 	}
@@ -184,40 +184,40 @@ public class ModelTest {
 		try {
 			Model model = new ModelFullIndexed(null);
 
-			Species alias = new GenericProtein("2");
-			alias.setWidth(100);
-			alias.setHeight(100);
-			model.addElement(alias);
-
-			alias = new GenericProtein("3");
-			alias.setWidth(10);
-			alias.setHeight(10);
-			model.addElement(alias);
-
-			alias = new GenericProtein("4");
-			alias.setWidth(200);
-			alias.setHeight(100);
-			model.addElement(alias);
-
-			Compartment cAlias = new Compartment("5");
-			cAlias.setWidth(10);
-			cAlias.setHeight(20);
-			model.addElement(cAlias);
-
-			cAlias = new Compartment("6");
-			cAlias.setWidth(100);
-			cAlias.setHeight(200);
-			model.addElement(cAlias);
-
-			cAlias = new Compartment("7");
-			cAlias.setWidth(20);
-			cAlias.setHeight(30);
-			model.addElement(cAlias);
-
-			List<Element> sortedAliases = model.getAliasesSortedBySize();
-			if (sortedAliases.size() > 0) {
-				double last = (sortedAliases.get(0)).getHeight() * (sortedAliases.get(0)).getWidth();
-				for (Element a : sortedAliases) {
+			Species species = new GenericProtein("2");
+			species.setWidth(100);
+			species.setHeight(100);
+			model.addElement(species);
+
+			species = new GenericProtein("3");
+			species.setWidth(10);
+			species.setHeight(10);
+			model.addElement(species);
+
+			species = new GenericProtein("4");
+			species.setWidth(200);
+			species.setHeight(100);
+			model.addElement(species);
+
+			Compartment compartment = new Compartment("5");
+			compartment.setWidth(10);
+			compartment.setHeight(20);
+			model.addElement(compartment);
+
+			compartment = new Compartment("6");
+			compartment.setWidth(100);
+			compartment.setHeight(200);
+			model.addElement(compartment);
+
+			compartment = new Compartment("7");
+			compartment.setWidth(20);
+			compartment.setHeight(30);
+			model.addElement(compartment);
+
+			List<Element> sortedElements = model.getElementsSortedBySize();
+			if (sortedElements.size() > 0) {
+				double last = (sortedElements.get(0)).getHeight() * (sortedElements.get(0)).getWidth();
+				for (Element a : sortedElements) {
 					assertTrue(last >= a.getHeight() * a.getWidth());
 				}
 			}
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparatorTest.java
index 2351aa6a17..e4598a4f02 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparatorTest.java
@@ -33,7 +33,7 @@ public class SubmodelConnectionComparatorTest {
 			SubmodelConnection connectionA = createConnection();
 			SubmodelConnection connectionB = createConnection();
 
-			assertEquals(0, comparator.compare(new AliasSubmodelConnection(), new AliasSubmodelConnection()));
+			assertEquals(0, comparator.compare(new ElementSubmodelConnection(), new ElementSubmodelConnection()));
 			assertEquals(0, comparator.compare(new ModelSubmodelConnection(), new ModelSubmodelConnection()));
 			assertEquals(0, comparator.compare(connectionA, connectionB));
 			assertEquals(0, comparator.compare(connectionA, connectionA));
@@ -147,8 +147,8 @@ public class SubmodelConnectionComparatorTest {
 	@Test
 	public void testDifferent2() throws Exception {
 		try {
-			AliasSubmodelConnection connectionA = new AliasSubmodelConnection();
-			AliasSubmodelConnection connectionB = new AliasSubmodelConnection();
+			ElementSubmodelConnection connectionA = new ElementSubmodelConnection();
+			ElementSubmodelConnection connectionB = new ElementSubmodelConnection();
 
 			connectionB.setSubmodel(new ModelFullIndexed(null));
 			assertTrue(comparator.compare(connectionA, connectionB) != 0);
@@ -165,10 +165,10 @@ public class SubmodelConnectionComparatorTest {
 
 		model.setNotes("Some description");
 
-		Species alias = new GenericProtein("a_id");
-		alias.setName("ad");
-		alias.setElementId("a_id");
-		model.addElement(alias);
+		Species protein = new GenericProtein("a_id");
+		protein.setName("ad");
+		protein.setElementId("a_id");
+		model.addElement(protein);
 
 		model.addElement(new Compartment("default"));
 
@@ -180,8 +180,8 @@ public class SubmodelConnectionComparatorTest {
 		return model;
 	}
 
-	private AliasSubmodelConnection createConnection() {
-		AliasSubmodelConnection result = new AliasSubmodelConnection(getModel(), SubmodelType.DOWNSTREAM_TARGETS);
+	private ElementSubmodelConnection createConnection() {
+		ElementSubmodelConnection result = new ElementSubmodelConnection(getModel(), SubmodelType.DOWNSTREAM_TARGETS);
 		result.setName("name A");
 		return result;
 	}
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparatorTest.java
index 208cf3e900..080daf0321 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparatorTest.java
@@ -74,7 +74,7 @@ public class NodeOperatorComparatorTest {
 			operator2 = createNodeOperator();
 
 			Reactant reactant = (Reactant) operator1.getInputs().get(0);
-			reactant.setAlias(new GenericProtein("id666"));
+			reactant.setElement(new GenericProtein("id666"));
 			assertTrue(comparator.compare(operator1, operator2) != 0);
 			assertTrue(comparator.compare(operator2, operator1) != 0);
 
@@ -82,7 +82,7 @@ public class NodeOperatorComparatorTest {
 			operator2 = createNodeOperator();
 
 			Product product= (Product) operator1.getOutputs().get(0);
-			product.setAlias(new GenericProtein("id666"));
+			product.setElement(new GenericProtein("id666"));
 			assertTrue(comparator.compare(operator1, operator2) != 0);
 			assertTrue(comparator.compare(operator2, operator1) != 0);
 
@@ -90,7 +90,7 @@ public class NodeOperatorComparatorTest {
 			operator2 = createNodeOperator();
 
 			reactant = (Reactant) operator1.getInputs().get(0);
-			reactant.getAlias().setName("bla");
+			reactant.getElement().setName("bla");
 			assertTrue(comparator.compare(operator1, operator2) != 0);
 			assertTrue(comparator.compare(operator2, operator1) != 0);
 
@@ -108,36 +108,36 @@ public class NodeOperatorComparatorTest {
 	private NodeOperator createNodeOperator() {
 		AndOperator result = new AndOperator();
 
-		Species alias0 = new GenericProtein("id0");
-		alias0.setName("protein a");
-		alias0.setX(12.0);
-		alias0.setY(1.0);
-		alias0.setWidth(2.0);
-		alias0.setHeight(3.0);
+		Species protein0 = new GenericProtein("id0");
+		protein0.setName("protein a");
+		protein0.setX(12.0);
+		protein0.setY(1.0);
+		protein0.setWidth(2.0);
+		protein0.setHeight(3.0);
 
-		Product product = new Product(alias0);
+		Product product = new Product(protein0);
 
 		result.addOutput(product);
 
-		Species alias1 = new GenericProtein("id1");
-		alias1.setName("protein b");
-		alias1.setX(120.0);
-		alias1.setY(10.0);
-		alias1.setWidth(20.0);
-		alias1.setHeight(30.0);
+		Species protein1 = new GenericProtein("id1");
+		protein1.setName("protein b");
+		protein1.setX(120.0);
+		protein1.setY(10.0);
+		protein1.setWidth(20.0);
+		protein1.setHeight(30.0);
 
-		Reactant reactant = new Reactant(alias1);
+		Reactant reactant = new Reactant(protein1);
 
 		result.addInput(reactant);
 
-		Species alias2 = new Gene("id2");
-		alias2.setName("gene b");
-		alias2.setX(320.0);
-		alias2.setY(30.0);
-		alias2.setWidth(30.0);
-		alias2.setHeight(40.0);
+		Species protein2 = new Gene("id2");
+		protein2.setName("gene b");
+		protein2.setX(320.0);
+		protein2.setY(30.0);
+		protein2.setWidth(30.0);
+		protein2.setHeight(40.0);
 
-		Modifier modifier = new Modifier(alias2);
+		Modifier modifier = new Modifier(protein2);
 
 		result.addInput(modifier);
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionComparatorTest.java
index db8a868e06..fbd1794bde 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionComparatorTest.java
@@ -194,7 +194,7 @@ public class ReactionComparatorTest {
 			reaction1 = createReaction();
 			reaction2 = createReaction();
 
-			reaction1.getModifiers().get(0).getAlias().setElementId("dfshkj");
+			reaction1.getModifiers().get(0).getElement().setElementId("dfshkj");
 			assertTrue(comparator.compare(reaction1, reaction2) != 0);
 			assertTrue(comparator.compare(reaction2, reaction1) != 0);
 
@@ -208,7 +208,7 @@ public class ReactionComparatorTest {
 			reaction1 = createReaction();
 			reaction2 = createReaction();
 
-			reaction1.getReactants().get(0).getAlias().setElementId("dfshkj");
+			reaction1.getReactants().get(0).getElement().setElementId("dfshkj");
 			assertTrue(comparator.compare(reaction1, reaction2) != 0);
 			assertTrue(comparator.compare(reaction2, reaction1) != 0);
 
@@ -222,7 +222,7 @@ public class ReactionComparatorTest {
 			reaction1 = createReaction();
 			reaction2 = createReaction();
 
-			reaction1.getProducts().get(0).getAlias().setElementId("dfshkj");
+			reaction1.getProducts().get(0).getElement().setElementId("dfshkj");
 			assertTrue(comparator.compare(reaction1, reaction2) != 0);
 			assertTrue(comparator.compare(reaction2, reaction1) != 0);
 
@@ -248,21 +248,21 @@ public class ReactionComparatorTest {
 
 	private Reaction createReaction() {
 		Reaction reaction = new Reaction();
-		Species alias = new GenericProtein("id1");
-		alias.setName("ASD");
-		Reactant reactant = new Reactant(alias);
+		Species protein = new GenericProtein("id1");
+		protein.setName("ASD");
+		Reactant reactant = new Reactant(protein);
 
-		Species alias2 = new GenericProtein("id2");
-		alias2.setName("ASD2");
-		Reactant reactant2 = new Reactant(alias2);
+		Species protein2 = new GenericProtein("id2");
+		protein2.setName("ASD2");
+		Reactant reactant2 = new Reactant(protein2);
 
-		Species moelculeAlias = new SimpleMolecule("id3");
-		moelculeAlias.setName("mol");
-		Product product = new Product(moelculeAlias);
+		Species simpleMolecule = new SimpleMolecule("id3");
+		simpleMolecule.setName("mol");
+		Product product = new Product(simpleMolecule);
 
-		Species unknownAlias = new Unknown("id4");
-		unknownAlias.setName("unk");
-		Modifier modifier = new Catalysis(unknownAlias);
+		Species unknown = new Unknown("id4");
+		unknown.setName("unk");
+		Modifier modifier = new Catalysis(unknown);
 
 		AndOperator operator = new AndOperator();
 		operator.setLine(new PolylineData(new Point2D.Double(2, 2), new Point2D.Double(4, 4)));
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparatorTest.java
index c317a22021..5328d0a7ea 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparatorTest.java
@@ -73,14 +73,14 @@ public class ReactionNodeComparatorTest {
 			operator1 = createNodeOperator();
 			operator2 = createNodeOperator();
 
-			operator1.setAlias(new GenericProtein("new_id"));
+			operator1.setElement(new GenericProtein("new_id"));
 			assertTrue(comparator.compare(operator1, operator2) != 0);
 			assertTrue(comparator.compare(operator2, operator1) != 0);
 
 			operator1 = createNodeOperator();
 			operator2 = createNodeOperator();
 
-			operator1.getAlias().setName("bla");
+			operator1.getElement().setName("bla");
 			assertTrue(comparator.compare(operator1, operator2) != 0);
 			assertTrue(comparator.compare(operator2, operator1) != 0);
 
@@ -94,14 +94,14 @@ public class ReactionNodeComparatorTest {
 
 	private ReactionNode createNodeOperator() {
 
-		Species alias2 = new Gene("id_1");
-		alias2.setName("gene b");
-		alias2.setX(320.0);
-		alias2.setY(30.0);
-		alias2.setWidth(30.0);
-		alias2.setHeight(40.0);
+		Species species = new Gene("id_1");
+		species.setName("gene b");
+		species.setX(320.0);
+		species.setY(30.0);
+		species.setWidth(30.0);
+		species.setHeight(40.0);
 
-		Modifier modifier = new Modifier(alias2);
+		Modifier modifier = new Modifier(species);
 
 		PolylineData pd = new PolylineData();
 		pd.addPoint(new Point2D.Double(1, 2));
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java
index 12a353ab6b..94cd14d33a 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java
@@ -39,11 +39,11 @@ public class ReactionTest extends ModelTestFunctions {
 
 	Logger							 logger	= Logger.getLogger(ReactantTest.class);
 
-	private Species alias;
+	private Species species;
 
 	@Before
 	public void setUp() throws Exception {
-		alias = new GenericProtein("sa1");
+		species = new GenericProtein("sa1");
 	}
 
 	@After
@@ -54,10 +54,10 @@ public class ReactionTest extends ModelTestFunctions {
 	public void testContainsElement() {
 		try {
 			Reaction reaction = new Reaction();
-			assertFalse(reaction.containsElement(alias));
-			Modifier modifier = new Catalysis(alias);
+			assertFalse(reaction.containsElement(species));
+			Modifier modifier = new Catalysis(species);
 			reaction.addModifier(modifier);
-			assertTrue(reaction.containsElement(alias));
+			assertTrue(reaction.containsElement(species));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -235,9 +235,9 @@ public class ReactionTest extends ModelTestFunctions {
 			assertEquals(0, reaction1.getVisibilityLevel());
 
 			Reactant reactant = new Reactant();
-			Element alias = new GenericProtein("id_xyz");
-			alias.setVisibilityLevel(2);
-			reactant.setAlias(alias);
+			Element protein = new GenericProtein("id_xyz");
+			protein.setVisibilityLevel(2);
+			reactant.setElement(protein);
 			reaction1.addReactant(reactant);
 
 			assertEquals(2, reaction1.getVisibilityLevel());
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java
index 295600e2ca..25f93cb5c3 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java
@@ -32,10 +32,10 @@ public class ComplexComparatorTest {
 	@Test
 	public void testEquals() {
 		try {
-			Complex alias1 = createComplexAlias();
-			Complex alias2 = createComplexAlias();
+			Complex complex1 = createComplex2();
+			Complex complex2 = createComplex2();
 
-			assertEquals(0, comparator.compare(alias1, alias2));
+			assertEquals(0, comparator.compare(complex1, complex2));
 
 			assertEquals(0, comparator.compare(null, null));
 
@@ -45,7 +45,7 @@ public class ComplexComparatorTest {
 		}
 	}
 
-	private Complex createComplexAlias() {
+	private Complex createComplex2() {
 		Complex result = new Complex();
 		result.setName("complex");
 
@@ -58,9 +58,9 @@ public class ComplexComparatorTest {
 		result.setColor(Color.BLUE);
 		result.setVisibilityLevel(14);
 
-		Species alias = new GenericProtein("S");
-		alias.setName("a");
-		result.addAlias(alias);
+		Species protein = new GenericProtein("S");
+		protein.setName("a");
+		result.addSpecies(protein);
 
 		return result;
 	}
@@ -68,52 +68,52 @@ public class ComplexComparatorTest {
 	@Test
 	public void testDifferent() {
 		try {
-			Complex alias1 = createComplexAlias();
-			Complex alias2 = createComplexAlias();
+			Complex complex1 = createComplex2();
+			Complex complex2 = createComplex2();
 
-			assertTrue(comparator.compare(alias1, null) != 0);
-			assertTrue(comparator.compare(null, alias1) != 0);
+			assertTrue(comparator.compare(complex1, null) != 0);
+			assertTrue(comparator.compare(null, complex1) != 0);
 
-			alias1 = createComplexAlias();
-			alias2 = createComplexAlias();
+			complex1 = createComplex2();
+			complex2 = createComplex2();
 
-			alias1.setElementId("tmp");
+			complex1.setElementId("tmp");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(complex1, complex2) != 0);
+			assertTrue(comparator.compare(complex2, complex1) != 0);
 
-			alias1 = createComplexAlias();
-			alias2 = createComplexAlias();
+			complex1 = createComplex2();
+			complex2 = createComplex2();
 
-			alias1.addAlias(new GenericProtein("id"));
+			complex1.addSpecies(new GenericProtein("id"));
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(complex1, complex2) != 0);
+			assertTrue(comparator.compare(complex2, complex1) != 0);
 
-			alias1 = createComplexAlias();
-			alias2 = createComplexAlias();
+			complex1 = createComplex2();
+			complex2 = createComplex2();
 
-			alias1.getAliases().iterator().next().setElementId("bnu");
+			complex1.getElements().iterator().next().setElementId("bnu");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(complex1, complex2) != 0);
+			assertTrue(comparator.compare(complex2, complex1) != 0);
 
-			alias1 = createComplexAlias();
-			alias2 = createComplexAlias();
+			complex1 = createComplex2();
+			complex2 = createComplex2();
 
-			Species speciesAlias = (Species) alias1.getAliases().iterator().next();
-			speciesAlias.setName("new namne");
+			Species species = (Species) complex1.getElements().iterator().next();
+			species.setName("new namne");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(complex1, complex2) != 0);
+			assertTrue(comparator.compare(complex2, complex1) != 0);
 
-			alias1 = createComplexAlias();
-			alias2 = createComplexAlias();
+			complex1 = createComplex2();
+			complex2 = createComplex2();
 
-			alias1.setName("new namne");
+			complex1.setName("new namne");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(complex1, complex2) != 0);
+			assertTrue(comparator.compare(complex2, complex1) != 0);
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -124,18 +124,18 @@ public class ComplexComparatorTest {
 	@Test
 	public void testInvalid() {
 		try {
-			Complex alias1 = createComplexAlias();
-			Complex alias2 = createComplexAlias();
+			Complex complex1 = createComplex2();
+			Complex complex2 = createComplex2();
 
-			GenericProtein alias = new GenericProtein("1");
-			alias1.getAliases().add(alias);
-			alias = new GenericProtein("1");
-			alias1.getAliases().add(alias);
+			GenericProtein protein = new GenericProtein("1");
+			complex1.getElements().add(protein);
+			protein = new GenericProtein("1");
+			complex1.getElements().add(protein);
 
-			alias2.getAliases().add(new GenericProtein("b"));
-			alias2.getAliases().add(new GenericProtein("a"));
+			complex2.getElements().add(new GenericProtein("b"));
+			complex2.getElements().add(new GenericProtein("a"));
 
-			comparator.compare(alias1, alias2);
+			comparator.compare(complex1, complex2);
 			fail("Exception expected");
 
 		} catch (InvalidArgumentException e) {
@@ -163,18 +163,18 @@ public class ComplexComparatorTest {
 	@Test
 	public void testInvalid2() {
 		try {
-			Complex alias1 = createComplexAlias();
-			Complex alias2 = createComplexAlias();
+			Complex complex1 = createComplex2();
+			Complex complex2 = createComplex2();
 
-			Species alias = new GenericProtein("1");
-			alias1.getAliases().add(alias);
-			alias = new GenericProtein("1");
-			alias1.getAliases().add(alias);
+			Species protein = new GenericProtein("1");
+			complex1.getElements().add(protein);
+			protein = new GenericProtein("1");
+			complex1.getElements().add(protein);
 
-			alias2.getAliases().add(new GenericProtein("A"));
-			alias2.getAliases().add(new GenericProtein("B"));
+			complex2.getElements().add(new GenericProtein("A"));
+			complex2.getElements().add(new GenericProtein("B"));
 
-			comparator.compare(alias2, alias1);
+			comparator.compare(complex2, complex1);
 			fail("Exception expected");
 
 		} catch (InvalidArgumentException e) {
@@ -195,8 +195,8 @@ public class ComplexComparatorTest {
 			assertEquals(0, comparator.compare(complex1, complex2));
 			assertEquals(0, comparator.compare(complex2, complex1));
 
-			complex2.addAlias(new GenericProtein("test"));
-			complex1.addAlias(new GenericProtein("test"));
+			complex2.addSpecies(new GenericProtein("test"));
+			complex1.addSpecies(new GenericProtein("test"));
 			assertEquals(0, comparator.compare(complex1, complex2));
 			assertEquals(0, comparator.compare(complex2, complex1));
 		} catch (Exception e) {
@@ -213,8 +213,8 @@ public class ComplexComparatorTest {
 
 			Species mock = Mockito.mock(Species.class);
 			when(mock.getElementId()).thenReturn("id");
-			complex1.addAlias(mock);
-			complex2.addAlias(mock);
+			complex1.addSpecies(mock);
+			complex2.addSpecies(mock);
 			comparator.compare(complex1, complex2);
 			comparator.compare(complex2, complex1);
 			fail("Exception expected");
@@ -233,13 +233,13 @@ public class ComplexComparatorTest {
 			Complex complex2 = createComplex();
 			GenericProtein c = new GenericProtein("test");
 			c.setName("a");
-			complex2.addAlias(c);
+			complex2.addSpecies(c);
 			c.setName("");
-			complex1.addAlias(new GenericProtein("test"));
+			complex1.addSpecies(new GenericProtein("test"));
 			Species mock = Mockito.mock(Species.class);
 			when(mock.getElementId()).thenReturn("id");
-			complex1.addAlias(mock);
-			complex2.addAlias(mock);
+			complex1.addSpecies(mock);
+			complex2.addSpecies(mock);
 			comparator.compare(complex2, complex1);
 			fail("Exception expected");
 		} catch (NotImplementedException e) {
@@ -261,13 +261,13 @@ public class ComplexComparatorTest {
 
 			complex1 = createComplex();
 			complex2 = createComplex();
-			complex1.getAliases().iterator().next().setNotes("bla");
+			complex1.getElements().iterator().next().setNotes("bla");
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
 			complex1 = createComplex();
 			complex2 = createComplex();
-			complex1.getAliases().clear();
+			complex1.getElements().clear();
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
@@ -279,8 +279,8 @@ public class ComplexComparatorTest {
 
 			complex1 = createComplex();
 			complex2 = createComplex();
-			Complex child = (Complex) complex1.getAliases().iterator().next();
-			child.getAliases().iterator().next().setNotes("grand child notes");
+			Complex child = (Complex) complex1.getElements().iterator().next();
+			child.getElements().iterator().next().setNotes("grand child notes");
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
@@ -288,7 +288,7 @@ public class ComplexComparatorTest {
 			complex2 = createComplex();
 			Protein prot = new GenericProtein();
 			prot.setElementId("test");
-			complex1.addAlias(prot);
+			complex1.addSpecies(prot);
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
@@ -313,10 +313,10 @@ public class ComplexComparatorTest {
 			Complex complex2 = createComplex();
 			GenericProtein prot = new GenericProtein();
 			prot.setElementId("test");
-			complex1.addAlias(prot);
+			complex1.addSpecies(prot);
 			prot = new GenericProtein();
 			prot.setElementId("test2");
-			complex2.addAlias(prot);
+			complex2.addSpecies(prot);
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
@@ -333,14 +333,14 @@ public class ComplexComparatorTest {
 			Complex complex2 = createComplex();
 			GenericProtein c = new GenericProtein("test");
 			c.setName("a");
-			complex2.addAlias(c);
-			complex2.addAlias(new GenericProtein("test"));
+			complex2.addSpecies(c);
+			complex2.addSpecies(new GenericProtein("test"));
 			c.setName("");
 
-			complex1.addAlias(new GenericProtein("test"));
+			complex1.addSpecies(new GenericProtein("test"));
 			GenericProtein d = new GenericProtein("test2");
 			d.setName("a");
-			complex1.addAlias(d);
+			complex1.addSpecies(d);
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
@@ -357,8 +357,8 @@ public class ComplexComparatorTest {
 			Complex complex2 = createComplex();
 			GenericProtein comp = new GenericProtein("test");
 			comp.setFullName("X");
-			complex1.addAlias(comp);
-			complex2.addAlias(new GenericProtein("test"));
+			complex1.addSpecies(comp);
+			complex2.addSpecies(new GenericProtein("test"));
 			assertTrue(comparator.compare(complex1, complex2) != 0);
 			assertTrue(comparator.compare(complex2, complex1) != 0);
 
@@ -375,13 +375,13 @@ public class ComplexComparatorTest {
 		result.setHomodimer(3);
 
 		Complex child = new Complex();
-		result.addAlias(child);
+		result.addSpecies(child);
 		child.setCharge(12);
 		child.setName("buu");
 		child.setNotes("hey, hi, hello");
 
 		Complex grandChild = new Complex();
-		child.addAlias(grandChild);
+		child.addSpecies(grandChild);
 		child.setCharge(123);
 		child.setName("buus");
 		child.setNotes("hey, hi, hello !!");
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexTest.java
index 34a28408e0..3990f8888e 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexTest.java
@@ -36,7 +36,7 @@ public class ComplexTest {
 	public void testConstructor() {
 		try {
 			Complex complex = new Complex();
-			complex.addAlias(new GenericProtein());
+			complex.addSpecies(new GenericProtein());
 			Complex copy = new Complex(complex);
 			assertNotNull(copy);
 
@@ -47,17 +47,17 @@ public class ComplexTest {
 	}
 
 	@Test
-	public void testAddAlias() {
+	public void testAddElement() {
 		try {
 			Complex complex = new Complex();
-			Species alias = new GenericProtein("id1");
-			complex.addAlias(alias);
-			assertEquals(1, complex.getAllChildrenAliases().size());
-			complex.addAlias(alias);
-			assertEquals(1, complex.getAllChildrenAliases().size());
-			Species alias2 = new GenericProtein("s");
-			complex.addAlias(alias2);
-			assertEquals(2, complex.getAllChildrenAliases().size());
+			Species species = new GenericProtein("id1");
+			complex.addSpecies(species);
+			assertEquals(1, complex.getAllChildren().size());
+			complex.addSpecies(species);
+			assertEquals(1, complex.getAllChildren().size());
+			Species protein2 = new GenericProtein("s");
+			complex.addSpecies(protein2);
+			assertEquals(2, complex.getAllChildren().size());
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -69,15 +69,15 @@ public class ComplexTest {
 		try {
 			Complex complex = new Complex();
 
-			complex.addAlias(new GenericProtein("1"));
+			complex.addSpecies(new GenericProtein("1"));
 			Complex complex2 = new Complex("c3");
-			complex2.addAlias(new GenericProtein("2"));
-			complex2.addAlias(new GenericProtein("4"));
+			complex2.addSpecies(new GenericProtein("2"));
+			complex2.addSpecies(new GenericProtein("4"));
 
-			complex.addAlias(complex2);
+			complex.addSpecies(complex2);
 
-			assertEquals(4, complex.getAllChildrenAliases().size());
-			assertEquals(2, complex.getAliases().size());
+			assertEquals(4, complex.getAllChildren().size());
+			assertEquals(2, complex.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -86,20 +86,20 @@ public class ComplexTest {
 	}
 
 	@Test
-	public void testRemoveAlias() {
+	public void testRemoveElement() {
 		try {
 			Complex complex = new Complex();
 
-			Species alias = new GenericProtein("1");
-			complex.addAlias(alias);
-			complex.addAlias(new GenericProtein("2"));
-			complex.addAlias(new GenericProtein("4"));
+			Species protein = new GenericProtein("1");
+			complex.addSpecies(protein);
+			complex.addSpecies(new GenericProtein("2"));
+			complex.addSpecies(new GenericProtein("4"));
 
-			assertEquals(3, complex.getAliases().size());
-			complex.removeAlias(alias);
-			assertEquals(2, complex.getAliases().size());
-			complex.removeAlias(alias);
-			assertEquals(2, complex.getAliases().size());
+			assertEquals(3, complex.getElements().size());
+			complex.removeElement(protein);
+			assertEquals(2, complex.getElements().size());
+			complex.removeElement(protein);
+			assertEquals(2, complex.getElements().size());
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -134,11 +134,11 @@ public class ComplexTest {
 	public void testGetAllSimpleChildren() {
 		try {
 			Complex child = new Complex();
-			child.addAlias(new GenericProtein("id2"));
+			child.addSpecies(new GenericProtein("id2"));
 			Complex original = new Complex();
-			original.addAlias(child);
-			original.addAlias(new Complex());
-			original.addAlias(new GenericProtein("id"));
+			original.addSpecies(child);
+			original.addSpecies(new Complex());
+			original.addSpecies(new GenericProtein("id"));
 			assertEquals(2, original.getAllSimpleChildren().size());
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java
index 43cbdec5fc..7a6bdc24d0 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java
@@ -18,7 +18,7 @@ import lcsb.mapviewer.model.map.MiriamRelationType;
 import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.model.SubmodelType;
@@ -99,21 +99,21 @@ public class ElementComparatorTest {
 	@Test
 	public void testCompareSubmodel() throws Exception {
 		try {
-			Element alias1 = createAlias();
-			Element alias2 = createAlias();
-			assertEquals(0, comparator.compare(alias1, alias2));
+			Element element1 = createElement();
+			Element element2 = createElement();
+			assertEquals(0, comparator.compare(element1, element2));
 
-			alias1.setSubmodel(null);
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			element1.setSubmodel(null);
+			assertTrue(comparator.compare(element1, element2) != 0);
+			assertTrue(comparator.compare(element2, element1) != 0);
 
-			alias1 = createAlias();
-			alias2 = createAlias();
+			element1 = createElement();
+			element2 = createElement();
 
-			alias1.getSubmodel().setName("Na");
+			element1.getSubmodel().setName("Na");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(element1, element2) != 0);
+			assertTrue(comparator.compare(element2, element1) != 0);
 
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -121,9 +121,9 @@ public class ElementComparatorTest {
 		}
 	}
 
-	private Element createAlias() {
+	private Element createElement() {
 		Element result = new GenericProtein("id2");
-		AliasSubmodelConnection submodel = new AliasSubmodelConnection(getModel(), SubmodelType.DOWNSTREAM_TARGETS);
+		ElementSubmodelConnection submodel = new ElementSubmodelConnection(getModel(), SubmodelType.DOWNSTREAM_TARGETS);
 		result.setSubmodel(submodel);
 		return result;
 	}
@@ -136,9 +136,9 @@ public class ElementComparatorTest {
 		protein.setName("ad");
 		model.addElement(protein);
 
-		Protein alias = new GenericProtein("a_id");
-		alias.setName("ad");
-		model.addElement(alias);
+		Protein protein2 = new GenericProtein("a_id");
+		protein2.setName("ad");
+		model.addElement(protein2);
 
 		model.addElement(new Compartment("default"));
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java
index 32260105d0..78ee89782a 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.SearchIndex;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.layout.graphics.LayerText;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelData;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
@@ -45,71 +45,66 @@ public class ElementTest extends ModelTestFunctions {
 
 	@Test
 	public void testDistance1() {
-		Species alias;
-		alias = new GenericProtein();
-		alias.setWidth(10);
-		alias.setHeight(20);
-		alias.setX(100.0);
-		alias.setY(200.0);
-		double distance = alias.getDistanceFromPoint(alias.getCenter());
+		Species species = new GenericProtein();
+		species.setWidth(10);
+		species.setHeight(20);
+		species.setX(100.0);
+		species.setY(200.0);
+		double distance = species.getDistanceFromPoint(species.getCenter());
 		assertEquals(0, distance, EPSILON);
 	}
 
 	@Test
 	public void testDistance2() {
-		Species alias;
-		alias = new GenericProtein();
-		alias.setWidth(10);
-		alias.setHeight(20);
-		alias.setX(100.0);
-		alias.setY(200.0);
-		double distance = alias.getDistanceFromPoint(new Point2D.Double(100, 205));
+		Species species = new GenericProtein();
+		species.setWidth(10);
+		species.setHeight(20);
+		species.setX(100.0);
+		species.setY(200.0);
+		double distance = species.getDistanceFromPoint(new Point2D.Double(100, 205));
 		assertEquals(0, distance, EPSILON);
 	}
 
 	@Test
 	public void testDistance6() {
-		Species alias;
-		alias = new GenericProtein();
-		alias.setWidth(10);
-		alias.setHeight(20);
-		alias.setX(100.0);
-		alias.setY(200.0);
-		double distance = alias.getDistanceFromPoint(new Point2D.Double(105, 95));
+		Species species = new GenericProtein();
+		species.setWidth(10);
+		species.setHeight(20);
+		species.setX(100.0);
+		species.setY(200.0);
+		double distance = species.getDistanceFromPoint(new Point2D.Double(105, 95));
 		assertEquals(105, distance, EPSILON);
 	}
 
 	@Test
 	public void testDistance3() {
-		Species alias;
-		alias = new GenericProtein();
-		alias.setWidth(10);
-		alias.setHeight(20);
-		alias.setX(100.0);
-		alias.setY(200.0);
-		double distance = alias.getDistanceFromPoint(new Point2D.Double(50, 205));
+		Species species = new GenericProtein();
+		species.setWidth(10);
+		species.setHeight(20);
+		species.setX(100.0);
+		species.setY(200.0);
+		double distance = species.getDistanceFromPoint(new Point2D.Double(50, 205));
 		assertEquals(50, distance, EPSILON);
 	}
 
 	@Test
 	public void testDistance4() {
-		Species alias;
-		alias = new GenericProtein();
-		alias.setWidth(10);
-		alias.setHeight(20);
-		alias.setX(100.0);
-		alias.setY(200.0);
-		double distance = alias.getDistanceFromPoint(new Point2D.Double(120, 230));
+		Species species = new GenericProtein();
+		species.setWidth(10);
+		species.setHeight(20);
+		species.setX(100.0);
+		species.setY(200.0);
+		double distance = species.getDistanceFromPoint(new Point2D.Double(120, 230));
 		assertEquals(Math.sqrt(200), distance, EPSILON);
 	}
 
 	@Test
 	public void testConstructor() {
 		try {
-			GenericProtein alias = new GenericProtein();
-			alias.addSearchIndex(new SearchIndex());
-			alias.setSubmodel(new AliasSubmodelConnection());
-			Element copy = new GenericProtein(alias);
+			GenericProtein protein = new GenericProtein();
+			protein.addSearchIndex(new SearchIndex());
+			protein.setSubmodel(new ElementSubmodelConnection());
+			Element copy = new GenericProtein(protein);
 			assertNotNull(copy);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -120,10 +115,10 @@ public class ElementTest extends ModelTestFunctions {
 	@Test
 	public void testIncreaseBorder() {
 		try {
-			Species alias = new GenericProtein();
-			assertEquals(0.0, alias.getSize(), Configuration.EPSILON);
-			alias.increaseBorder(2);
-			assertEquals(16.0, alias.getSize(), Configuration.EPSILON);
+			Species protein = new GenericProtein();
+			assertEquals(0.0, protein.getSize(), Configuration.EPSILON);
+			protein.increaseBorder(2);
+			assertEquals(16.0, protein.getSize(), Configuration.EPSILON);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -148,7 +143,7 @@ public class ElementTest extends ModelTestFunctions {
 			Double height = 4.0;
 			ModelData modelData = new ModelData();
 			Set<MiriamData> miriamData = new HashSet<>();
-			Compartment compartmentAlias = new Compartment("idd");
+			Compartment compartment = new Compartment("idd");
 			int id = 72;
 			int transparencyLevel = 2;
 			Model model = new ModelFullIndexed(modelData);
@@ -157,7 +152,7 @@ public class ElementTest extends ModelTestFunctions {
 
 			element.setMiriamData(miriamData);
 			assertEquals(miriamData, element.getMiriamData());
-			
+
 			element.setX(xStr);
 			assertEquals(x, element.getX(), Configuration.EPSILON);
 			element.setX(nullDouble);
@@ -207,8 +202,8 @@ public class ElementTest extends ModelTestFunctions {
 			} catch (InvalidArgumentException e) {
 			}
 
-			element.setCompartmentAlias(compartmentAlias);
-			assertEquals(compartmentAlias, element.getCompartmentAlias());
+			element.setCompartment(compartment);
+			assertEquals(compartment, element.getCompartment());
 			element.setId(id);
 			assertEquals(id, element.getId());
 			element.setTransparencyLevel(transparencyLevel);
@@ -244,60 +239,60 @@ public class ElementTest extends ModelTestFunctions {
 	}
 
 	@Test
-	public void testContainsAlias() {
+	public void testContainsElement() {
 		try {
-			Species alias = new GenericProtein();
-			alias.setWidth(100);
-			alias.setHeight(100);
-			Species alias2 = new GenericProtein();
-			alias2.setX(-2);
-			alias2.setY(-2);
-			alias2.setWidth(100);
-			alias2.setHeight(100);
-
-			assertTrue(alias.contains(alias2));
-			alias2.setX(2);
-			alias2.setY(2);
-			assertTrue(alias.contains(alias2));
-			alias2.setX(-2);
-			alias2.setY(2);
-			assertTrue(alias.contains(alias2));
-			alias2.setX(2);
-			alias2.setY(-2);
-			assertTrue(alias.contains(alias2));
-
-			alias2.setX(-2);
-			alias2.setY(-2);
-			alias2.setWidth(200);
-			alias2.setHeight(200);
-			assertFalse(alias.contains(alias2));
-
-			Compartment alias3 = new Compartment("idd");
-			alias3.setX(2);
-			alias3.setY(2);
-			alias3.setWidth(10);
-			alias3.setHeight(100);
-			assertFalse(alias.contains(alias3));
-
-			alias3.setWidth(100);
-			alias3.setHeight(10);
-			assertFalse(alias.contains(alias3));
-
-			alias3.setWidth(10);
-			alias3.setHeight(10);
-			assertTrue(alias.contains(alias3));
-
-			alias3.setWidth(100);
-			alias3.setHeight(100);
-			alias3.setX(-2);
-			alias3.setY(2);
-			assertFalse(alias.contains(alias3));
-			alias3.setX(2);
-			alias3.setY(-2);
-			assertFalse(alias.contains(alias3));
-			alias3.setX(-2);
-			alias3.setY(-2);
-			assertFalse(alias.contains(alias3));
+			Species element = new GenericProtein();
+			element.setWidth(100);
+			element.setHeight(100);
+			Species element2 = new GenericProtein();
+			element2.setX(-2);
+			element2.setY(-2);
+			element2.setWidth(100);
+			element2.setHeight(100);
+
+			assertTrue(element.contains(element2));
+			element2.setX(2);
+			element2.setY(2);
+			assertTrue(element.contains(element2));
+			element2.setX(-2);
+			element2.setY(2);
+			assertTrue(element.contains(element2));
+			element2.setX(2);
+			element2.setY(-2);
+			assertTrue(element.contains(element2));
+
+			element2.setX(-2);
+			element2.setY(-2);
+			element2.setWidth(200);
+			element2.setHeight(200);
+			assertFalse(element.contains(element2));
+
+			Compartment compartment = new Compartment("idd");
+			compartment.setX(2);
+			compartment.setY(2);
+			compartment.setWidth(10);
+			compartment.setHeight(100);
+			assertFalse(element.contains(compartment));
+
+			compartment.setWidth(100);
+			compartment.setHeight(10);
+			assertFalse(element.contains(compartment));
+
+			compartment.setWidth(10);
+			compartment.setHeight(10);
+			assertTrue(element.contains(compartment));
+
+			compartment.setWidth(100);
+			compartment.setHeight(100);
+			compartment.setX(-2);
+			compartment.setY(2);
+			assertFalse(element.contains(compartment));
+			compartment.setX(2);
+			compartment.setY(-2);
+			assertFalse(element.contains(compartment));
+			compartment.setX(-2);
+			compartment.setY(-2);
+			assertFalse(element.contains(compartment));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
@@ -307,19 +302,19 @@ public class ElementTest extends ModelTestFunctions {
 	@Test
 	public void testContainsLayerText() {
 		try {
-			Species alias = new GenericProtein();
-			alias.setWidth(100);
-			alias.setHeight(100);
-			LayerText alias2 = new LayerText();
-			alias2.setX(2.0);
-			alias2.setY(2.0);
-			alias2.setWidth(100.0);
-			alias2.setHeight(100.0);
-
-			assertFalse(alias.contains(alias2));
-			alias2.setWidth(10.0);
-			alias2.setHeight(10.0);
-			assertTrue(alias.contains(alias2));
+			Species protein = new GenericProtein();
+			protein.setWidth(100);
+			protein.setHeight(100);
+			LayerText layerText = new LayerText();
+			layerText.setX(2.0);
+			layerText.setY(2.0);
+			layerText.setWidth(100.0);
+			layerText.setHeight(100.0);
+
+			assertFalse(protein.contains(layerText));
+			layerText.setWidth(10.0);
+			layerText.setHeight(10.0);
+			assertTrue(protein.contains(layerText));
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw e;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesComparatorTest.java
index acbe0f722f..68c0c063da 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesComparatorTest.java
@@ -32,10 +32,10 @@ public class SpeciesComparatorTest {
 	@Test
 	public void testEquals() {
 		try {
-			Species alias1 = createSpeciesAlias();
-			Species alias2 = createSpeciesAlias();
+			Species species1 = createSpecies();
+			Species species2 = createSpecies();
 
-			assertEquals(0, comparator.compare(alias1, alias2));
+			assertEquals(0, comparator.compare(species1, species2));
 
 			assertEquals(0, comparator.compare(null, null));
 
@@ -51,8 +51,8 @@ public class SpeciesComparatorTest {
 	public void testCompareInvalid() {
 		try {
 
-			Species alias = Mockito.mock(Species.class);
-			comparator.compare(alias, alias);
+			Species speciesMock = Mockito.mock(Species.class);
+			comparator.compare(speciesMock, speciesMock);
 			fail("Exception expected");
 
 		} catch (NotImplementedException e) {
@@ -62,7 +62,7 @@ public class SpeciesComparatorTest {
 		}
 	}
 
-	private Species createSpeciesAlias() {
+	private Species createSpecies() {
 		GenericProtein result = new GenericProtein();
 		result.setName("a");
 
@@ -74,8 +74,8 @@ public class SpeciesComparatorTest {
 		result.setFontSize(9.0);
 		result.setColor(Color.BLUE);
 		result.setVisibilityLevel(14);
-		result.setAliasStateLabel("123");
-		result.setAliasStatePrefix("1234");
+		result.setStateLabel("123");
+		result.setStatePrefix("1234");
 
 		return result;
 	}
@@ -83,61 +83,61 @@ public class SpeciesComparatorTest {
 	@Test
 	public void testDifferent() throws Exception {
 		try {
-			Species alias1 = createSpeciesAlias();
-			Species alias2 = createSpeciesAlias();
+			Species species1 = createSpecies();
+			Species species2 = createSpecies();
 
-			assertTrue(comparator.compare(alias1, null) != 0);
-			assertTrue(comparator.compare(null, alias1) != 0);
+			assertTrue(comparator.compare(species1, null) != 0);
+			assertTrue(comparator.compare(null, species1) != 0);
 
-			assertTrue(comparator.compare(new Complex(), alias1) != 0);
+			assertTrue(comparator.compare(new Complex(), species1) != 0);
 
-			alias1 = createSpeciesAlias();
-			alias2 = createSpeciesAlias();
+			species1 = createSpecies();
+			species2 = createSpecies();
 
-			alias1.setElementId("tmp");
+			species1.setElementId("tmp");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(species1, species2) != 0);
+			assertTrue(comparator.compare(species2, species1) != 0);
 
-			alias1 = createSpeciesAlias();
-			alias2 = createSpeciesAlias();
+			species1 = createSpecies();
+			species2 = createSpecies();
 
-			alias1.setAliasStateLabel("tmp");
+			species1.setStateLabel("tmp");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(species1, species2) != 0);
+			assertTrue(comparator.compare(species2, species1) != 0);
 
-			alias1 = createSpeciesAlias();
-			alias2 = createSpeciesAlias();
+			species1 = createSpecies();
+			species2 = createSpecies();
 
-			alias1.setAliasStatePrefix("tmp");
+			species1.setStatePrefix("tmp");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(species1, species2) != 0);
+			assertTrue(comparator.compare(species2, species1) != 0);
 
-			alias1 = createSpeciesAlias();
-			alias2 = createSpeciesAlias();
+			species1 = createSpecies();
+			species2 = createSpecies();
 
-			alias1.setName("new namne");
+			species1.setName("new namne");
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(species1, species2) != 0);
+			assertTrue(comparator.compare(species2, species1) != 0);
 
-			alias1 = createSpeciesAlias();
-			alias2 = createSpeciesAlias();
+			species1 = createSpecies();
+			species2 = createSpecies();
 
-			alias1.setActivity(true);
+			species1.setActivity(true);
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(species1, species2) != 0);
+			assertTrue(comparator.compare(species2, species1) != 0);
 
-			alias1 = createSpeciesAlias();
-			alias2 = createSpeciesAlias();
+			species1 = createSpecies();
+			species2 = createSpecies();
 
-			alias1.setLineWidth(453.75);
+			species1.setLineWidth(453.75);
 
-			assertTrue(comparator.compare(alias1, alias2) != 0);
-			assertTrue(comparator.compare(alias2, alias1) != 0);
+			assertTrue(comparator.compare(species1, species2) != 0);
+			assertTrue(comparator.compare(species2, species1) != 0);
 
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesTest.java
index a19acb8b2c..2568aed9e8 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/SpeciesTest.java
@@ -26,14 +26,14 @@ public class SpeciesTest {
 	@Test
 	public void testGetter() {
 		try {
-			Species alias = new GenericProtein("id");
+			Species species = new GenericProtein("id");
 			String state = "as";
 			Set<ReactionNode> node = new HashSet<>();
-			alias.setState(state);
-			alias.setNode(node);
+			species.setState(state);
+			species.setNode(node);
 
-			assertEquals(state, alias.getState());
-			assertEquals(node, alias.getNode());
+			assertEquals(state, species.getState());
+			assertEquals(node, species.getNode());
 
 		} catch (Exception e) {
 			e.printStackTrace();
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java
index 40d498bf84..5c70f1b4f6 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java
@@ -564,8 +564,8 @@ public class ModelContructor {
 					if (species instanceof Species) {
 
 						Species speciesAlias = (Species) species;
-						speciesAlias.setComplexAlias(complexSpecies);
-						complexSpecies.addAlias(speciesAlias);
+						speciesAlias.setComplex(complexSpecies);
+						complexSpecies.addSpecies(speciesAlias);
 
 						if (speciesAlias.getParent() == null) {
 							speciesAlias.setParent(complexSpecies);
@@ -633,12 +633,12 @@ public class ModelContructor {
 		PolylineData pdsecondpart = pair.getRight();
 
 		Reactant reactant = new Reactant();
-		reactant.setAlias(data.id2alias.get(interaction.getStart()));
+		reactant.setElement(data.id2alias.get(interaction.getStart()));
 		reactant.setLine(pdfirstpart);
 		reaction.addReactant(reactant);
 
 		Product product = new Product();
-		product.setAlias(data.id2alias.get(interaction.getEnd()));
+		product.setElement(data.id2alias.get(interaction.getEnd()));
 		product.setLine(pdsecondpart);
 		reaction.addProduct(product);
 
@@ -765,7 +765,7 @@ public class ModelContructor {
 		}
 
 		Reactant reac = new Reactant();
-		reac.setAlias(data.id2alias.get(id));
+		reac.setElement(data.id2alias.get(id));
 		reac.setLine(e.getLine());
 
 		// if somebody drew the reaction in reverse order (starting from reaction
@@ -797,7 +797,7 @@ public class ModelContructor {
 			throw new InvalidStateException("This product is invalid");
 		}
 		Product pro = new Product();
-		pro.setAlias(data.id2alias.get(id));
+		pro.setElement(data.id2alias.get(id));
 		pro.setLine(e.getLine());
 		// if somebody drew the reaction in reverse order (starting from reaction
 		// and going to the product) then reverse the order of points: order should
@@ -963,11 +963,11 @@ public class ModelContructor {
 	 *          model where aliases will be modifed
 	 */
 	private void putAliasesIntoCompartments(Model model) {
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias.getParent() == null) {
 				if (alias instanceof Species) {
 					Compartment selectedAlias = null;
-					for (Compartment cAlias : model.getCompartmentsAliases()) {
+					for (Compartment cAlias : model.getCompartments()) {
 						if (cAlias.cross(alias)) {
 							if (selectedAlias == null) {
 								selectedAlias = cAlias;
@@ -994,15 +994,15 @@ public class ModelContructor {
 		Set<Element> aliasesInReaction = new HashSet<>();
 		for (Reaction reaction : model.getReactions()) {
 			for (ReactionNode node : reaction.getReactionNodes()) {
-				aliasesInReaction.add(node.getAlias());
+				aliasesInReaction.add(node.getElement());
 			}
 		}
 		List<Element> toRemove = new ArrayList<>();
 		ElementUtils eu = new ElementUtils();
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Complex) {
 				Complex cAlias = (Complex) alias;
-				if (cAlias.getSize() <= EPSILON && cAlias.getAllChildrenAliases().size() == 0) {
+				if (cAlias.getSize() <= EPSILON && cAlias.getAllChildren().size() == 0) {
 					if (aliasesInReaction.contains(alias)) {
 						logger.warn(eu.getElementTag(alias) + "Empty element is invalid, but it's a part of reaction.");
 					} else {
@@ -1013,7 +1013,7 @@ public class ModelContructor {
 			}
 		}
 		for (Element alias : toRemove) {
-			model.removeAlias(alias);
+			model.removeElement(alias);
 		}
 	}
 
@@ -1025,7 +1025,7 @@ public class ModelContructor {
 	 *          model where complexes are placed
 	 */
 	private void assignNamesToComplexes(Model model) {
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Complex) {
 				if (alias.getName() == null || (alias.getName().isEmpty())) {
 					for (Layer layer : model.getLayers()) {
@@ -1055,7 +1055,7 @@ public class ModelContructor {
 	 *          model where compartments are placed
 	 */
 	private void assignNamesToCompartments(Model model) {
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Compartment) {
 				if (alias.getName() == null || alias.getName().isEmpty()) {
 					for (Layer layer : model.getLayers()) {
@@ -1100,16 +1100,16 @@ public class ModelContructor {
 	 *          model where assignments are fixed.
 	 */
 	private void fixCompartmentAliases(Model model) {
-		List<Compartment> aliases = model.getCompartmentsAliases();
+		List<Compartment> aliases = model.getCompartments();
 		// clear all assignments
 		for (Compartment compartmentAlias : aliases) {
 			compartmentAlias.getElements().clear();
 		}
 
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			// elements inside complexes shouldn't be considered
 			if (alias instanceof Species) {
-				if (((Species) alias).getComplexAlias() != null) {
+				if (((Species) alias).getComplex() != null) {
 					continue;
 				}
 			}
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java
index 412b0124d6..b63e8970ef 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java
@@ -150,11 +150,11 @@ public class ModelToGPML {
 
 		if (alias instanceof Complex) {
 			Complex ca = (Complex) alias;
-			if (ca.getAliases().size() == 0) {
+			if (ca.getElements().size() == 0) {
 				res = (Rectangle2D) ca.getBorder().clone();
 			} else {
-				res = getRectangle(ca.getAliases().get(0));
-				for (Element al : ca.getAliases()) {
+				res = getRectangle(ca.getElements().get(0));
+				for (Element al : ca.getElements()) {
 					Rectangle2D.union(res, getRectangle(al), res);
 				}
 				res = new Rectangle2D.Double(
@@ -186,7 +186,7 @@ public class ModelToGPML {
 
 		PolylineData startLine = start.getLine();
 		Point2D ps = startLine.getBeginPoint();
-		Rectangle2D rec1 = getRectangle(start.getAlias());
+		Rectangle2D rec1 = getRectangle(start.getElement());
 		double dis1 = Geo.distance(ps, rec1);
 
 		if (dis1 > DIS_FOR_REP) {
@@ -203,7 +203,7 @@ public class ModelToGPML {
 
 		PolylineData endLine = end.getLine();
 		Point2D pe = endLine.getEndPoint();
-		Rectangle2D rec2 = getRectangle(end.getAlias());
+		Rectangle2D rec2 = getRectangle(end.getElement());
 		double dis2 = Geo.distance(pe, rec2);
 
 		for (Point2D p2d : endLine.getPoints()) {
@@ -230,7 +230,7 @@ public class ModelToGPML {
 		PolylineData line = rn.getLine();
 		Point2D ps = line.getBeginPoint();
 		Point2D pe = line.getEndPoint();
-		Rectangle2D rec = getRectangle(rn.getAlias());
+		Rectangle2D rec = getRectangle(rn.getElement());
 
 		if (rn instanceof Reactant || rn instanceof Modifier) {
 			double dis = Geo.distance(ps, rec);
@@ -294,7 +294,7 @@ public class ModelToGPML {
 	 */
 	private String getComparments(Model model) {
 		StringBuilder comparments = new StringBuilder("");
-		for (Compartment ca : model.getCompartmentsAliases()) {
+		for (Compartment ca : model.getCompartments()) {
 
 			double x = ca.getCenterX(), y = ca.getCenterY(), h = ca.getHeight(), w = ca.getWidth();
 			String shape;
@@ -351,7 +351,7 @@ public class ModelToGPML {
 		if (rn instanceof Reactant) {
 			for (Point2D p2d : line.getPoints()) {
 				if (p2d.equals(ps)) {
-					interaction.append("      <Point X=\"" + ps.getX() + "\" Y=\"" + ps.getY() + "\" GraphRef=\"" + rn.getAlias().getElementId() + "\"/>\n");
+					interaction.append("      <Point X=\"" + ps.getX() + "\" Y=\"" + ps.getY() + "\" GraphRef=\"" + rn.getElement().getElementId() + "\"/>\n");
 				} else if (p2d.equals(pe)) {
 					interaction.append("      <Point X=\"" + pe.getX() + "\" Y=\"" + pe.getY() + "\" GraphRef=\"" + anchId + "\"/>\n");
 				} else {
@@ -364,7 +364,7 @@ public class ModelToGPML {
 					interaction.append("      <Point X=\"" + ps.getX() + "\" Y=\"" + ps.getY() + "\" GraphRef=\"" + anchId + "\"/>\n");
 				} else if (p2d.equals(pe)) {
 					interaction.append(
-							"      <Point X=\"" + pe.getX() + "\" Y=\"" + pe.getY() + "\" GraphRef=\"" + rn.getAlias().getElementId() + "\" ArrowHead=\"mim-conversion\"/>\n");
+							"      <Point X=\"" + pe.getX() + "\" Y=\"" + pe.getY() + "\" GraphRef=\"" + rn.getElement().getElementId() + "\" ArrowHead=\"mim-conversion\"/>\n");
 				} else {
 					interaction.append("      <Point X=\"" + p2d.getX() + "\" Y=\"" + p2d.getY() + "\"/>\n");
 				}
@@ -372,7 +372,7 @@ public class ModelToGPML {
 		} else if (rn instanceof Modifier) {
 			for (Point2D p2d : line.getPoints()) {
 				if (p2d.equals(ps)) {
-					interaction.append("      <Point X=\"" + ps.getX() + "\" Y=\"" + ps.getY() + "\" GraphRef=\"" + rn.getAlias().getElementId() + "\"/>\n");
+					interaction.append("      <Point X=\"" + ps.getX() + "\" Y=\"" + ps.getY() + "\" GraphRef=\"" + rn.getElement().getElementId() + "\"/>\n");
 				} else if (p2d.equals(pe)) {
 					interaction.append("      <Point X=\"" + pe.getX() + "\" Y=\"" + pe.getY() + "\" GraphRef=\"" + anchId + "\" ArrowHead=\"mim-catalysis\"/>\n");
 				} else {
@@ -414,8 +414,8 @@ public class ModelToGPML {
 		for (Species sa : model.getNotComplexSpeciesList()) {
 			if (!(sa instanceof Complex)) {
 				dataNodes.append("  <DataNode TextLabel=\"" + sa.getName() + "\" GraphId=\"" + sa.getElementId() + "\" Type=\"" + getType(sa) + "\"");
-				if (sa.getComplexAlias() != null) {
-					dataNodes.append(" GroupRef=\"" + sa.getComplexAlias().getElementId() + "\"");
+				if (sa.getComplex() != null) {
+					dataNodes.append(" GroupRef=\"" + sa.getComplex().getElementId() + "\"");
 				}
 				dataNodes.append(">\n");
 
@@ -448,10 +448,10 @@ public class ModelToGPML {
 
 		/** Special Case for empty Complexes **/
 		for (Complex ca : model.getComplexList()) {
-			if (ca.getAliases().size() == 0) {
+			if (ca.getElements().size() == 0) {
 				dataNodes.append("  <DataNode TextLabel=\"" + ca.getName() + "\" GraphId=\"" + ca.getElementId() + "\" Type=\"Complex\"");
-				if (ca.getComplexAlias() != null) {
-					dataNodes.append(" GroupRef=\"" + ca.getComplexAlias().getElementId() + "\"");
+				if (ca.getComplex() != null) {
+					dataNodes.append(" GroupRef=\"" + ca.getComplex().getElementId() + "\"");
 				}
 				dataNodes.append(">\n");
 
@@ -481,10 +481,10 @@ public class ModelToGPML {
 		StringBuilder groups = new StringBuilder("");
 
 		for (Complex ca : model.getComplexList()) {
-			if (ca.getAliases().size() > 0) {
+			if (ca.getElements().size() > 0) {
 				groups.append("  <Group GroupId=\"" + ca.getElementId() + "\" GraphId=\"" + ca.getElementId() + "\"");
-				if (ca.getComplexAlias() != null) {
-					groups.append(" GroupRef=\"" + ca.getComplexAlias().getElementId() + "\"");
+				if (ca.getComplex() != null) {
+					groups.append(" GroupRef=\"" + ca.getComplex().getElementId() + "\"");
 				}
 				groups.append("/>\n");
 			}
@@ -523,8 +523,8 @@ public class ModelToGPML {
 			PolylineData line = getPolyline(start, end);
 			Point2D ps = line.getBeginPoint();
 			Point2D pe = line.getEndPoint();
-			String sid = start.getAlias().getElementId();
-			String eid = end.getAlias().getElementId();
+			String sid = start.getElement().getElementId();
+			String eid = end.getElement().getElementId();
 
 			for (Point2D p2d : line.getPoints()) {
 				if (p2d.equals(ps)) {
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java
index 5aaa91d06c..e7c8ca2773 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java
@@ -453,7 +453,7 @@ public class GPMLToModelTest {
 		try {
 			String fileName = "testFiles/compartment/compartment_name.gpml";
 			Model model = new GPMLToModel().getModel(fileName);
-			for (Compartment compartment : model.getCompartmentsAliases()) {
+			for (Compartment compartment : model.getCompartments()) {
 				assertEquals("Compartment parsed from gpml should have a valid name", "Label", compartment.getName());
 			}
 			assertEquals(0, model.getCreationWarnings().size());
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java
index 0232a42c1d..80442db55b 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java
@@ -45,7 +45,7 @@ public class BugTest extends WikipathwaysTestFunctions {
 			assertEquals(7, model1.getCreationWarnings().size());
 
 			int complexes = 0;
-			for (Element alias : model1.getAliases()) {
+			for (Element alias : model1.getElements()) {
 				if (alias instanceof Complex) {
 					complexes++;
 				}
diff --git a/persist/src/db/10.0.3/fix_db_20161005.sql b/persist/src/db/10.0.3/fix_db_20161005.sql
new file mode 100644
index 0000000000..4f9b15d5d9
--- /dev/null
+++ b/persist/src/db/10.0.3/fix_db_20161005.sql
@@ -0,0 +1,24 @@
+alter table submodel_connection_table rename fromalias_iddb to fromelement_iddb;
+alter table submodel_connection_table rename toalias_iddb to toelement_iddb;
+
+alter table alias_table rename to element_table;
+
+update element_table set alias_type_db ='Bottom square Compartment' where alias_type_db = 'Bottom square Compartment Alias';
+update element_table set alias_type_db ='Left square Compartment' where alias_type_db = 'Left square Compartment Alias';
+update element_table set alias_type_db ='Oval Compartment' where alias_type_db = 'Oval Compartment Alias';
+update element_table set alias_type_db ='Compartment' where alias_type_db = 'Compartment Alias';
+update element_table set alias_type_db ='Pathway Compartment' where alias_type_db = 'Artifitial Compartment Alias';
+update element_table set alias_type_db ='Right square Compartment' where alias_type_db = 'Right square Compartment Alias';
+update element_table set alias_type_db ='Square Compartment' where alias_type_db = 'Square Compartment Alias';
+update element_table set alias_type_db ='Top square Compartment' where alias_type_db = 'Top square Compartment Alias';
+
+alter table node_table rename alias_iddb to element_iddb;
+
+update element_table set alias_type_db ='Complex' where alias_type_db = 'Complex Species Alias';
+update element_table set alias_type_db ='Species' where alias_type_db = 'Species Alias';
+
+alter table element_table rename alias_type_db  to element_type_db;
+alter table element_table  rename idcomplexaliasdb to idcomplexdb;
+
+alter table element_table  rename aliasstatelabel to statelabel;
+alter table element_table  rename aliasstateprefix to stateprefix;
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java
index ba1eb26bf8..b961cbc625 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java
@@ -179,8 +179,8 @@ public class ProjectDaoTest extends PersistTestFunctions {
 		Species alias = createSpeciesAlias(817.714285714286, 287.642857142859, 80.0, 40.0, "sa1422");
 		Species alias2 = createSpeciesAlias(224.964285714286, 241.392857142859, 80.0, 40.0, "sa1419");
 		Complex alias3 = createComplexAlias(804.714285714286, 182.642857142859, 112.0, 172.0, "csa152");
-		alias3.addAlias(alias);
-		alias3.addAlias(alias2);
+		alias3.addSpecies(alias);
+		alias3.addSpecies(alias2);
 		alias.setParent(alias3);
 		alias2.setParent(alias3);
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java
index 856380cd3f..180c0711a1 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java
@@ -114,8 +114,8 @@ public class CommentDaoTest extends PersistTestFunctions {
 		alias = createSpeciesAlias(817.714285714286, 287.642857142859, 80.0, 40.0, "sa1422");
 		Species alias2 = createSpeciesAlias(224.964285714286, 241.392857142859, 80.0, 40.0, "sa1419");
 		Complex alias3 = createComplexAlias(804.714285714286, 182.642857142859, 112.0, 172.0, "csa152");
-		alias3.addAlias(alias);
-		alias3.addAlias(alias2);
+		alias3.addSpecies(alias);
+		alias3.addSpecies(alias2);
 		alias.setParent(alias3);
 		alias2.setParent(alias3);
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java
index 0e48ff8d14..ce6a9bed27 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java
@@ -161,8 +161,8 @@ public class LayoutDaoTest extends PersistTestFunctions {
 		alias = createSpeciesAlias(817.714285714286, 287.642857142859, 80.0, 40.0, "sa1422");
 		Species alias2 = createSpeciesAlias(224.964285714286, 241.392857142859, 80.0, 40.0, "sa1419");
 		Complex alias3 = createComplexAlias(804.714285714286, 182.642857142859, 112.0, 172.0, "csa152");
-		alias3.addAlias(alias);
-		alias3.addAlias(alias2);
+		alias3.addSpecies(alias);
+		alias3.addSpecies(alias2);
 		alias.setParent(alias3);
 		alias2.setParent(alias3);
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java
index b7cd79ee28..ecfb1f3bb3 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java
@@ -73,7 +73,7 @@ public class ModelDaoTest extends PersistTestFunctions {
 			assertNotNull(model2);
 			assertFalse(model2 == model);
 
-			assertEquals(model.getAliases().size(), model2.getAliases().size());
+			assertEquals(model.getElements().size(), model2.getElements().size());
 			assertEquals(model.getLayers().size(), model2.getLayers().size());
 			assertEquals(model.getReactions().size(), model2.getReactions().size());
 
@@ -99,21 +99,21 @@ public class ModelDaoTest extends PersistTestFunctions {
 			Model fullModel = new ModelFullIndexed(model2);
 			assertNotNull(model2);
 
-			assertEquals(model.getAliases().size(), model2.getAliases().size());
+			assertEquals(model.getElements().size(), model2.getElements().size());
 			assertEquals(model.getLayers().size(), model2.getLayers().size());
 			assertEquals(model.getReactions().size(), model2.getReactions().size());
 
 			// check if we really performed a test
 			boolean test = false;
 
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				assertNotNull(fullModel.getElementByElementId(alias.getElementId()));
 				test = true;
 			}
 			assertTrue(test);
 
 			test = false;
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				if (alias instanceof Compartment) {
 					assertNotNull(fullModel.getElementByElementId(alias.getElementId()));
 					test = true;
@@ -341,8 +341,8 @@ public class ModelDaoTest extends PersistTestFunctions {
 		alias = createSpeciesAlias(817.714285714286, 287.642857142859, 80.0, 40.0, "sa1422");
 		Species alias2 = createSpeciesAlias(224.964285714286, 241.392857142859, 80.0, 40.0, "sa1419");
 		Complex alias3 = createComplexAlias(804.714285714286, 182.642857142859, 112.0, 172.0, "csa152");
-		alias3.addAlias(alias);
-		alias3.addAlias(alias2);
+		alias3.addSpecies(alias);
+		alias3.addSpecies(alias2);
 		alias.setParent(alias3);
 		alias2.setParent(alias3);
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java
index a0d5a976a2..5f4fc73a85 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java
@@ -10,7 +10,7 @@ import org.junit.Test;
 import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.map.SearchIndex;
 import lcsb.mapviewer.model.map.compartment.Compartment;
-import lcsb.mapviewer.model.map.model.AliasSubmodelConnection;
+import lcsb.mapviewer.model.map.model.ElementSubmodelConnection;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.model.SubmodelType;
@@ -79,8 +79,8 @@ public class AliasDaoTest extends PersistTestFunctions {
 		Species alias = createSpeciesAlias(817.714285714286, 287.642857142859, 80.0, 40.0, "sa1422");
 		Species alias2 = createSpeciesAlias(224.964285714286, 241.392857142859, 80.0, 40.0, "sa1419");
 		Complex alias3 = createComplexAlias(804.714285714286, 182.642857142859, 112.0, 172.0, "csa152");
-		alias3.addAlias(alias);
-		alias3.addAlias(alias2);
+		alias3.addSpecies(alias);
+		alias3.addSpecies(alias2);
 		alias.setParent(alias3);
 		alias2.setParent(alias3);
 
@@ -128,7 +128,7 @@ public class AliasDaoTest extends PersistTestFunctions {
 			Model model = createModel();
 			Model model1 = createModel();
 			Element alias = model.getElementByElementId("sa2");
-			AliasSubmodelConnection submodel = new AliasSubmodelConnection(model1, SubmodelType.UNKNOWN);
+			ElementSubmodelConnection submodel = new ElementSubmodelConnection(model1, SubmodelType.UNKNOWN);
 			alias.setSubmodel(submodel);
 			project.addModel(model);
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java
index 4faae67b56..02c33a2fc3 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java
@@ -56,10 +56,10 @@ public class AntisenseRnaTest extends PersistTestFunctions {
 
 			Model model2 = new ModelFullIndexed(project2.getModels().iterator().next());
 
-			Element sp = model.getAliases().iterator().next();
+			Element sp = model.getElements().iterator().next();
 			AntisenseRna ar = (AntisenseRna) sp;
 
-			Element sp2 = model2.getAliases().iterator().next();
+			Element sp2 = model2.getElements().iterator().next();
 			AntisenseRna ar2 = (AntisenseRna) sp2;
 
 			projectDao.delete(project2);
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java
index 723b4dd75c..04da77ac6f 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java
@@ -55,10 +55,10 @@ public class RnaTest extends PersistTestFunctions {
 
 			Model model2 = new ModelFullIndexed(project2.getModels().iterator().next());
 
-			Element sp = model.getAliases().iterator().next();
+			Element sp = model.getElements().iterator().next();
 			Rna ar = (Rna) sp;
 
-			Element sp2 = model2.getAliases().iterator().next();
+			Element sp2 = model2.getElements().iterator().next();
 			Rna ar2 = (Rna) sp2;
 
 			projectDao.delete(project2);
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java
index 1ec4d89ac5..c6e710375c 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java
@@ -63,7 +63,7 @@ public class ReactionComparator {
 		}
 
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			if (node.getAlias() instanceof Phenotype) {
+			if (node.getElement() instanceof Phenotype) {
 				result.setStatus(MatchStatus.INVALID_REACTION_WITH_PHEONTYPE);
 				return result;
 			}
@@ -80,7 +80,7 @@ public class ReactionComparator {
 
 		for (ReactionNode node : reaction.getModifiers()) {
 			boolean verified = false;
-			Element species = node.getAlias();
+			Element species = node.getElement();
 
 			for (ReactomeCatalystActivity catalystActivity : reactomeReaction.getCatalystActivities()) {
 				if (nc.compareNodes(species, catalystActivity)) {
@@ -95,7 +95,7 @@ public class ReactionComparator {
 			}
 		}
 		for (ReactionNode node : reaction.getReactants()) {
-			Element species = node.getAlias();
+			Element species = node.getElement();
 			boolean verified = false;
 			for (ReactomePhysicalEntity input : reactomeReaction.getInputs()) {
 				if (nc.compareNodes(species, input)) {
@@ -110,7 +110,7 @@ public class ReactionComparator {
 			}
 		}
 		for (ReactionNode node : reaction.getProducts()) {
-			Element species = node.getAlias();
+			Element species = node.getElement();
 			boolean verified = false;
 			for (ReactomePhysicalEntity input : reactomeReaction.getOutputs()) {
 				if (nc.compareNodes(species, input)) {
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java
index 36b03907ce..2a7c77ff90 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java
@@ -628,7 +628,7 @@ public class ReactomeQueryUtil {
 	public ReactomeReactionlikeEvent getSimilarReaction(Reaction reaction) {
 		List<Element> list = new ArrayList<>();
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			list.add(node.getAlias());
+			list.add(node.getElement());
 		}
 		List<ReactomeReactionlikeEvent> reactions = getReactionsBetweenSpecies(list, true);
 		// logger.debug("Reactions: " + reactions.size());
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java b/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java
index eb6f7539a2..19400e3cc9 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java
@@ -294,7 +294,7 @@ public class CommentService implements ICommentService {
 						logger.warn("Invalid reaction dbID: " + comment.getTableId() + ". Table: " + comment.getTableName().getName());
 					}
 				} else {
-					Element alias = model.getAliasByDbId(comment.getTableId());
+					Element alias = model.getElementByDbId(comment.getTableId());
 					if (alias != null) {
 						identifier = ((Species) alias).getElementId();
 					} else {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/DataMiningService.java b/service/src/main/java/lcsb/mapviewer/services/impl/DataMiningService.java
index 691a276741..7313dd7d14 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/DataMiningService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/DataMiningService.java
@@ -162,7 +162,7 @@ public class DataMiningService extends XmlParser implements IDataMiningService {
 		if (geneName == null) {
 			return result;
 		}
-		for (Element element : model.getAliases()) {
+		for (Element element : model.getElements()) {
 			Collection<DataMining> set = missingConnectionDao.getMissingConnectionForElement(element);
 			for (DataMining dataMining : set) {
 				for (MiriamData md : dataMining.getSuggestedConnections()) {
@@ -243,7 +243,7 @@ public class DataMiningService extends XmlParser implements IDataMiningService {
 
 	@Override
 	public void removeConnectionsForModel(ModelData model) {
-		Collection<Element> nodes = model.getAliases();
+		Collection<Element> nodes = model.getElements();
 
 		dbUtils.setAutoFlush(false);
 		for (Element node : nodes) {
@@ -489,8 +489,8 @@ public class DataMiningService extends XmlParser implements IDataMiningService {
 			List<ReactionNode> rNodes = reaction.getReactionNodes();
 			for (int i = 0; i < rNodes.size(); i++) {
 				for (int j = i + 1; j < rNodes.size(); j++) {
-					for (MiriamData md1 : rNodes.get(i).getAlias().getMiriamData()) {
-						for (MiriamData md2 : rNodes.get(j).getAlias().getMiriamData()) {
+					for (MiriamData md1 : rNodes.get(i).getElement().getMiriamData()) {
+						for (MiriamData md2 : rNodes.get(j).getElement().getMiriamData()) {
 							if (md1.compareTo(md2) < 0) {
 								reactionsHash.add(new Pair<MiriamData, MiriamData>(md1, md2));
 							} else {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ExporterService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ExporterService.java
index 8de8004743..d1172615b3 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ExporterService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ExporterService.java
@@ -91,7 +91,7 @@ public class ExporterService implements IExporterService {
 		}
 		builder.append("\n");
 		for (Model model : parameters.getModels()) {
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				if (alias instanceof Species) {
 					Species speciesAlias = (Species) alias;
 					boolean toBeProcessed = false;
@@ -199,10 +199,10 @@ public class ExporterService implements IExporterService {
 					line.append(species.getModelData().getName());
 				} else if (column == ExportColumn.COMPLEX) {
 					String complex = null;
-					if (species.getComplexAlias() != null) {
-						complex = species.getComplexAlias().getName();
+					if (species.getComplex() != null) {
+						complex = species.getComplex().getName();
 
-						complex += " [id=" + getId(species.getComplexAlias()) + "]";
+						complex += " [id=" + getId(species.getComplex()) + "]";
 					}
 					line.append(complex);
 				} else {
@@ -242,7 +242,7 @@ public class ExporterService implements IExporterService {
 		Compartment smallestAlias = null;
 		List<Compartment> compartmentAliases = new ArrayList<Compartment>();
 
-		for (Compartment alias : element.getModel().getCompartmentsAliases()) {
+		for (Compartment alias : element.getModel().getCompartments()) {
 			if (alias.cross(element)) {
 				if (!(alias instanceof PathwayCompartment)) {
 					compartmentAliases.add(alias);
@@ -272,7 +272,7 @@ public class ExporterService implements IExporterService {
 		Model model = element.getModel();
 
 		List<Compartment> aliases = new ArrayList<Compartment>();
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			if (alias instanceof PathwayCompartment) {
 				if (alias.cross(element)) {
 					aliases.add(alias);
@@ -368,7 +368,7 @@ public class ExporterService implements IExporterService {
 			for (Reaction reaction : model.getReactions()) {
 				int counter = 0;
 				for (ReactionNode node : reaction.getReactionNodes()) {
-					Element element = node.getAlias();
+					Element element = node.getElement();
 					for (Class<?> type : parameters.getTypes()) {
 						if (type.isAssignableFrom(element.getClass())) {
 							counter++;
@@ -383,7 +383,7 @@ public class ExporterService implements IExporterService {
 		}
 		if (parameters.isMoleculeEdges()) {
 			for (Model model : parameters.getModels()) {
-				for (Element element : model.getAliases()) {
+				for (Element element : model.getElements()) {
 					if (element instanceof Species) {
 						if (element instanceof SimpleMolecule) {
 							boolean ok = false;
@@ -446,8 +446,8 @@ public class ExporterService implements IExporterService {
 			for (Reaction reaction : model.getReactions()) {
 				boolean goodReaction = false;
 				for (ReactionNode node : reaction.getReactionNodes()) {
-					if (node.getAlias() instanceof SimpleMolecule) {
-						Element species2 = node.getAlias();
+					if (node.getElement() instanceof SimpleMolecule) {
+						Element species2 = node.getElement();
 						if (species.getName().equalsIgnoreCase(species2.getName())) {
 							goodReaction = true;
 						}
@@ -462,19 +462,19 @@ public class ExporterService implements IExporterService {
 						ok = true;
 					}
 					for (Compartment alias2 : parameters.getIncludedAliases()) {
-						if (alias2.cross(node.getAlias())) {
+						if (alias2.cross(node.getElement())) {
 							ok = true;
 							break;
 						}
 					}
 					for (Compartment alias2 : parameters.getExcludedAliases()) {
-						if (alias2.cross(node.getAlias())) {
+						if (alias2.cross(node.getElement())) {
 							ok = false;
 							break;
 						}
 					}
 					if (ok) {
-						Element element = node.getAlias();
+						Element element = node.getElement();
 						for (Class<?> type : parameters.getTypes()) {
 							if (type.isAssignableFrom(element.getClass())) {
 								if (element instanceof Complex) {
@@ -530,19 +530,19 @@ public class ExporterService implements IExporterService {
 					ok = true;
 				}
 				for (Compartment alias2 : parameters.getIncludedAliases()) {
-					if (alias2.cross(node.getAlias())) {
+					if (alias2.cross(node.getElement())) {
 						ok = true;
 						break;
 					}
 				}
 				for (Compartment alias2 : parameters.getExcludedAliases()) {
-					if (alias2.cross(node.getAlias())) {
+					if (alias2.cross(node.getElement())) {
 						ok = false;
 						break;
 					}
 				}
 				if (ok) {
-					Element element = node.getAlias();
+					Element element = node.getElement();
 					if (parameters.getTypes().size() == 0) {
 						elements.add(element);
 					} else {
@@ -628,13 +628,13 @@ public class ExporterService implements IExporterService {
 		for (Reactant reactant : reaction.getReactants()) {
 			result.append("REACTANT");
 			result.append("\t");
-			result.append(getExportSingleSpecies((Species) reactant.getAlias(), parameters));
+			result.append(getExportSingleSpecies((Species) reactant.getElement(), parameters));
 			result.append("\t");
 		}
 		for (Product product : reaction.getProducts()) {
 			result.append("PRODUCT");
 			result.append("\t");
-			result.append(getExportSingleSpecies((Species) product.getAlias(), parameters));
+			result.append(getExportSingleSpecies((Species) product.getElement(), parameters));
 			result.append("\t");
 		}
 		for (Modifier modifier : reaction.getModifiers()) {
@@ -642,7 +642,7 @@ public class ExporterService implements IExporterService {
 			result.append("\t");
 			result.append("type=" + modifier.getClass().getSimpleName());
 			result.append("\t");
-			result.append(getExportSingleSpecies((Species) modifier.getAlias(), parameters));
+			result.append(getExportSingleSpecies((Species) modifier.getElement(), parameters));
 			result.append("\t");
 		}
 		return result.toString();
@@ -703,33 +703,33 @@ public class ExporterService implements IExporterService {
 			Set<Element> inputs = new HashSet<Element>();
 			Set<Element> outputs = new HashSet<Element>();
 			for (Reactant reactant : reaction.getReactants()) {
-				if (!isAssignable(parameters, reactant.getAlias())) {
+				if (!isAssignable(parameters, reactant.getElement())) {
 					continue;
 				}
-				if (reactant.getAlias() instanceof Complex) {
-					inputs.addAll(((Complex) (reactant.getAlias())).getAllChildrenAliases());
+				if (reactant.getElement() instanceof Complex) {
+					inputs.addAll(((Complex) (reactant.getElement())).getAllChildren());
 				} else {
-					inputs.add(reactant.getAlias());
+					inputs.add(reactant.getElement());
 				}
 			}
 			for (Product product : reaction.getProducts()) {
-				if (!isAssignable(parameters, product.getAlias())) {
+				if (!isAssignable(parameters, product.getElement())) {
 					continue;
 				}
-				if (product.getAlias() instanceof Complex) {
-					outputs.addAll(((Complex) (product.getAlias())).getAllChildrenAliases());
+				if (product.getElement() instanceof Complex) {
+					outputs.addAll(((Complex) (product.getElement())).getAllChildren());
 				} else {
-					outputs.add(product.getAlias());
+					outputs.add(product.getElement());
 				}
 			}
 			for (Modifier modifier : reaction.getModifiers()) {
-				if (!isAssignable(parameters, modifier.getAlias())) {
+				if (!isAssignable(parameters, modifier.getElement())) {
 					continue;
 				}
-				if (modifier.getAlias() instanceof Complex) {
-					inputs.addAll(((Complex) (modifier.getAlias())).getAllChildrenAliases());
+				if (modifier.getElement() instanceof Complex) {
+					inputs.addAll(((Complex) (modifier.getElement())).getAllChildren());
 				} else {
-					inputs.add(modifier.getAlias());
+					inputs.add(modifier.getElement());
 				}
 			}
 			for (Element input : inputs) {
@@ -747,36 +747,36 @@ public class ExporterService implements IExporterService {
 		} else {
 
 			for (Reactant reactant : reaction.getReactants()) {
-				if (!isAssignable(parameters, reactant.getAlias())) {
+				if (!isAssignable(parameters, reactant.getElement())) {
 					continue;
 				}
 				counter++;
 
 				builder.append("REACTANT");
 				builder.append("\t");
-				builder.append(getId(reactant.getAlias()));
+				builder.append(getId(reactant.getElement()));
 				builder.append("\t");
 			}
 			for (Product product : reaction.getProducts()) {
-				if (!isAssignable(parameters, product.getAlias())) {
+				if (!isAssignable(parameters, product.getElement())) {
 					continue;
 				}
 				counter++;
 
 				builder.append("PRODUCT");
 				builder.append("\t");
-				builder.append(getId(product.getAlias()));
+				builder.append(getId(product.getElement()));
 				builder.append("\t");
 			}
 			for (Modifier modifier : reaction.getModifiers()) {
-				if (!isAssignable(parameters, modifier.getAlias())) {
+				if (!isAssignable(parameters, modifier.getElement())) {
 					continue;
 				}
 				counter++;
 
 				builder.append("MODIFIER");
 				builder.append("\t");
-				builder.append(getId(modifier.getAlias()));
+				builder.append(getId(modifier.getElement()));
 				builder.append("\t");
 			}
 			if (counter > 1) {
@@ -835,8 +835,8 @@ public class ExporterService implements IExporterService {
 		sb.append("compartment=" + compartment);
 		sb.append("\t");
 		String complexId = null;
-		if (alias.getComplexAlias() != null) {
-			complexId = getId(alias.getComplexAlias());
+		if (alias.getComplex() != null) {
+			complexId = getId(alias.getComplex());
 		}
 		sb.append("complex=" + complexId);
 		sb.append("\t");
@@ -975,7 +975,7 @@ public class ExporterService implements IExporterService {
 		Set<String> uniqeLines = new HashSet<>();
 		StringBuilder builder = new StringBuilder();
 		for (Model model : parameters.getModels()) {
-			for (Compartment alias : model.getCompartmentsAliases()) {
+			for (Compartment alias : model.getCompartments()) {
 
 				// check where it lays
 				boolean toBeProcessed = (parameters.getIncludedAliases().size() == 0);
@@ -1066,7 +1066,7 @@ public class ExporterService implements IExporterService {
 		models.addAll(model.getSubmodels());
 		Set<MiriamData> miriamDatas = new HashSet<>();
 		for (Model m : models) {
-			for (Element element : m.getAliases()) {
+			for (Element element : m.getElements()) {
 				for (MiriamData md : element.getMiriamData()) {
 					if (MiriamType.PUBMED.equals(md.getDataType())) {
 						miriamDatas.add(md);
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
index 4752653eec..65b0ce3877 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
@@ -180,7 +180,7 @@ public class ModelService implements IModelService {
 		if (model != null) {
 			Set<Integer> pubmedIds = new HashSet<>();
 
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				for (MiriamData md : element.getMiriamData()) {
 					if (MiriamType.PUBMED.equals(md.getDataType())) {
 						try {
@@ -344,7 +344,7 @@ public class ModelService implements IModelService {
 		if (model != null) {
 			Set<MiriamData> pubmedIds = new HashSet<MiriamData>();
 
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				pubmedIds.addAll(element.getMiriamData());
 			}
 			for (Reaction reaction : model.getReactions()) {
@@ -439,7 +439,7 @@ public class ModelService implements IModelService {
 		for (Model model2 : models) {
 			Set<Integer> set = identifiersForMap.get(model2.getModelData().getId());
 			if (set != null) {
-				for (Element alias : model2.getAliases()) {
+				for (Element alias : model2.getElements()) {
 					if (set.contains(alias.getId())) {
 						result.add(alias);
 						set.remove(alias.getId());
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 2668362530..d011bcb456 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -784,9 +784,9 @@ public class ProjectService implements IProjectService {
 		try {
 			Logger.getRootLogger().addAppender(appender);
 			Set<Element> nodes = new HashSet<>();
-			nodes.addAll(model.getAliases());
+			nodes.addAll(model.getElements());
 			for (ModelSubmodelConnection connection : model.getSubmodelConnections()) {
-				nodes.addAll(connection.getSubmodel().getAliases());
+				nodes.addAll(connection.getSubmodel().getElements());
 			}
 			Set<Reaction> reactions = new HashSet<Reaction>();
 			reactions.addAll(model.getReactions());
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java b/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java
index 0f555b798b..cec3c35b2c 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java
@@ -238,7 +238,7 @@ public class SearchService implements ISearchService {
 		} else if (query.startsWith(SPECIES_SEARCH_PREFIX)) {
 			result.add(fullAliasViewFactory.create(model.getElementByElementId(query.replaceFirst(SPECIES_SEARCH_PREFIX, ""))));
 		} else {
-			Set<Element> aliases = model.getAliases();
+			Set<Element> aliases = model.getElements();
 
 			List<SearchResult> sortedResults = new ArrayList<SearchService.SearchResult>();
 			for (Element alias : aliases) {
@@ -324,7 +324,7 @@ public class SearchService implements ISearchService {
 		List<IHeavyView> result = new ArrayList<>();
 		result.add(fullReactionViewFactory.create(reaction));
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			result.add(fullAliasViewFactory.create(node.getAlias()));
+			result.add(fullAliasViewFactory.create(node.getElement()));
 		}
 		return result;
 	}
@@ -336,7 +336,7 @@ public class SearchService implements ISearchService {
 
 		List<Object> results = new ArrayList<Object>();
 
-		Set<Element> aliases = params.getModel().getAliases();
+		Set<Element> aliases = params.getModel().getElements();
 		Point2D point = new Point2D.Double(params.getX(), params.getY());
 		for (Element alias : aliases) {
 			if (alias instanceof Species) {
@@ -422,7 +422,7 @@ public class SearchService implements ISearchService {
 			return true;
 		}
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			if (isVisible(node.getAlias(), params)) {
+			if (isVisible(node.getElement(), params)) {
 				return true;
 			}
 		}
@@ -537,7 +537,7 @@ public class SearchService implements ISearchService {
 		for (Reaction reaction : model.getReactions()) {
 			tmpList.add(new DistanceToObject(reaction, point));
 		}
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Species) {
 				tmpList.add(new DistanceToObject(alias, point));
 			}
@@ -660,13 +660,13 @@ public class SearchService implements ISearchService {
 		Map<String, List<String>> result = new HashMap<String, List<String>>();
 
 		Set<String> possibilities = new HashSet<String>();
-		for (Element alias : model.getAliases()) {
+		for (Element alias : model.getElements()) {
 			if (alias instanceof Species) {
 				possibilities.addAll(getSearchPossibilitiesForAlias(alias));
 			}
 		}
 		for (ModelSubmodelConnection connection : model.getSubmodelConnections()) {
-			for (Element alias : connection.getSubmodel().getModel().getAliases()) {
+			for (Element alias : connection.getSubmodel().getModel().getElements()) {
 				if (alias instanceof Species) {
 					possibilities.addAll(getSearchPossibilitiesForAlias(alias));
 				}
diff --git a/service/src/main/java/lcsb/mapviewer/services/interfaces/IExporterService.java b/service/src/main/java/lcsb/mapviewer/services/interfaces/IExporterService.java
index 83af2d42fc..1895e4acd5 100644
--- a/service/src/main/java/lcsb/mapviewer/services/interfaces/IExporterService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/interfaces/IExporterService.java
@@ -122,7 +122,7 @@ public interface IExporterService {
 			for (Model modelElement : models) {
 				includedAliases.clear();
 				for (String string : included) {
-					for (Compartment alias : modelElement.getCompartmentsAliases()) {
+					for (Compartment alias : modelElement.getCompartments()) {
 						if (alias.getName().equalsIgnoreCase(string)) {
 							includedAliases.add(alias);
 						}
@@ -131,7 +131,7 @@ public interface IExporterService {
 
 				excludedAliases.clear();
 				for (String string : excluded) {
-					for (Compartment alias : modelElement.getCompartmentsAliases()) {
+					for (Compartment alias : modelElement.getCompartments()) {
 						if (alias.getName().equalsIgnoreCase(string)) {
 							excludedAliases.add(alias);
 						}
@@ -153,7 +153,7 @@ public interface IExporterService {
 
 			if (models.size() > 0) {
 				for (Model model : models) {
-					for (Compartment alias : model.getCompartmentsAliases()) {
+					for (Compartment alias : model.getCompartments()) {
 						if (alias.getName().equalsIgnoreCase(included)) {
 							includedAliases.add(alias);
 						}
@@ -189,7 +189,7 @@ public interface IExporterService {
 
 			if (models.size() > 0) {
 				for (Model model : models) {
-					for (Compartment alias : model.getCompartmentsAliases()) {
+					for (Compartment alias : model.getCompartments()) {
 						if (alias.getName().equalsIgnoreCase(excluded)) {
 							excludedAliases.add(alias);
 						}
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/SearchResultFactory.java b/service/src/main/java/lcsb/mapviewer/services/search/SearchResultFactory.java
index 080f82df06..ec5c533a35 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/SearchResultFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/SearchResultFactory.java
@@ -87,7 +87,7 @@ public abstract class SearchResultFactory<T, S extends ISearchResultView> extend
 			return null;
 		} else if (ElementIdentifierType.ALIAS.getJsName().equalsIgnoreCase(element.getType())) {
 			Model m = model.getSubmodelById(element.getModelId());
-			Element alias = m.getAliasByDbId(Integer.valueOf(element.getObjectId()));
+			Element alias = m.getElementByDbId(Integer.valueOf(element.getObjectId()));
 			if (alias == null) {
 				logger.warn("Alias with object id = " + element.getObjectId() + " is unknown.");
 				return null;
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/data/FullReactionViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/search/data/FullReactionViewFactory.java
index 357b09b686..ee4da49f1f 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/data/FullReactionViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/data/FullReactionViewFactory.java
@@ -63,7 +63,7 @@ public class FullReactionViewFactory extends ElementViewFactory<Reaction, FullRe
 		result.setReferences(annotationViewFactory.createList(reaction.getMiriamData()));
 
 		for (ReactionNode node : reaction.getReactionNodes()) {
-			FullAliasView fav = fullAliasViewFactory.create(node.getAlias());
+			FullAliasView fav = fullAliasViewFactory.create(node.getElement());
 			if (node instanceof Reactant) {
 				fav.addOther("NodeType", "Reactant");
 			} else if (node instanceof Product) {
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalViewFactory.java
index f475b4cbfa..5754dcac66 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalViewFactory.java
@@ -177,7 +177,7 @@ public class ChemicalViewFactory extends SearchResultFactory<Chemical, ChemicalV
 		for (Model model : models) {
 			for (TargetView target : chemical.getTargetRows()) {
 				if (target.getSelected() && target.getIcon() != null) {
-					for (Element element : model.getAliases()) {
+					for (Element element : model.getElements()) {
 						if (elementMatch(target, element)) {
 							result.add(new ElementIdentifier(element, target.getIcon()));
 						}
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactory.java
index 8ed19f9a96..cbf58c412a 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactory.java
@@ -169,7 +169,7 @@ public class DrugViewFactory extends SearchResultFactory<Drug, DrugView> {
 		List<ElementIdentifier> result = new ArrayList<>();
 
 		for (Model m : models) {
-			for (Element element : m.getAliases()) {
+			for (Element element : m.getElements()) {
 				if (elementMatch(complexTarget, element)) {
 					result.add(new ElementIdentifier(element, complexTarget.getIcon()));
 				}
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAViewFactory.java
index 595ec33ca5..235a3a6824 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAViewFactory.java
@@ -102,7 +102,7 @@ public class MiRNAViewFactory extends SearchResultFactory<MiRNA, MiRNAView> {
 		for (Model model : models) {
 			for (TargetView target : searchResult.getTargetRows()) {
 				if (target.getSelected() && target.getIcon() != null) {
-					for (Element element : model.getAliases()) {
+					for (Element element : model.getElements()) {
 						if (elementMatch(target, element)) {
 							result.add(new ElementIdentifier(element, target.getIcon()));
 						}
diff --git a/service/src/main/java/lcsb/mapviewer/services/view/CommentViewFactory.java b/service/src/main/java/lcsb/mapviewer/services/view/CommentViewFactory.java
index a16772c76b..f3cf4961cd 100644
--- a/service/src/main/java/lcsb/mapviewer/services/view/CommentViewFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/view/CommentViewFactory.java
@@ -78,7 +78,7 @@ public class CommentViewFactory extends AbstractViewFactory<Comment, CommentView
 				}
 
 			} else {
-				Element alias = model.getAliasByDbId(comment.getTableId());
+				Element alias = model.getElementByDbId(comment.getTableId());
 				if (alias != null) {
 					title = alias.getName();
 					coordinates = alias.getCenter();
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
index 2d984725fa..df6d60a4f6 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
@@ -47,7 +47,7 @@ public class CommentServiceTest extends ServiceTestFunctions {
 			model = getModelForFile("testFiles/centeredAnchorInModifier.xml", false);
 			model.setMapVersion("tes");
 			model.setTileSize(128);
-			Set<Element> aliases = model.getAliases();
+			Set<Element> aliases = model.getElements();
 			alias = null;
 			alias2 = null;
 			for (Element nAlias : aliases) {
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/DataMiningServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/DataMiningServiceTest.java
index 7c94ef9f11..1831ffa26e 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/DataMiningServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/DataMiningServiceTest.java
@@ -54,7 +54,7 @@ public class DataMiningServiceTest extends ServiceTestFunctions {
 		project.addModel(model);
 		projectDao.add(project);
 		modelDao.add(model);
-		nodes = model.getAliases();
+		nodes = model.getElements();
 		node = nodes.iterator().next();
 
 		createUser();
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ExporterServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ExporterServiceTest.java
index cc5c205c6d..b3ff181821 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/ExporterServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/ExporterServiceTest.java
@@ -174,7 +174,7 @@ public class ExporterServiceTest extends ServiceTestFunctions {
 		try {
 			Model model = getModelForFile("testFiles/export/reaction.xml", false);
 			Set<Compartment> aliases = new HashSet<>();
-			for (Compartment alias : model.getCompartmentsAliases()) {
+			for (Compartment alias : model.getCompartments()) {
 				if (alias.getName().equalsIgnoreCase("Dopamine loaded synaptic vesicle"))
 					aliases.add(alias);
 			}
@@ -274,7 +274,7 @@ public class ExporterServiceTest extends ServiceTestFunctions {
 				strings.add(ReactionLineData.getByReactionType(reaction.getClass()).getCellDesignerString());
 				strings.add(reaction.getIdReaction());
 				for (ReactionNode node : reaction.getReactionNodes()) {
-					strings.add(node.getAlias().getName());
+					strings.add(node.getElement().getName());
 
 				}
 				for (String string : strings) {
@@ -463,7 +463,7 @@ public class ExporterServiceTest extends ServiceTestFunctions {
 		try {
 			Model model = getModelForFile("testFiles/export/reaction.xml", false);
 			Set<Compartment> aliases = new HashSet<>();
-			for (Compartment alias : model.getCompartmentsAliases()) {
+			for (Compartment alias : model.getCompartments()) {
 				if (alias.getName().equalsIgnoreCase("Dopamine loaded synaptic vesicle"))
 					aliases.add(alias);
 			}
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/LogServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/LogServiceTest.java
index 2049084f81..7fc816df52 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/LogServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/LogServiceTest.java
@@ -42,7 +42,7 @@ public class LogServiceTest extends ServiceTestFunctions {
 			project.addModel(model);
 			projectDao.add(project);
 			modelDao.add(model);
-			nodes = model.getAliases();
+			nodes = model.getElements();
 			node = nodes.iterator().next();
 
 			mc = new DataMining();
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ModelServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ModelServiceTest.java
index f6cfdb028f..07b4937096 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/ModelServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/ModelServiceTest.java
@@ -84,7 +84,7 @@ public class ModelServiceTest extends ServiceTestFunctions {
 			Model model = getModelForFile("testFiles/sample.xml", false);
 			int counter = 0;
 			Element alias0 = null;
-			for (Element alias : model.getAliases()) {
+			for (Element alias : model.getElements()) {
 				if (counter == 0) {
 					alias0 = alias;
 				}
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
index f79c6e0da8..18674a4d47 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
@@ -645,7 +645,7 @@ public class ProjectServiceTest extends ServiceTestFunctions {
 			assertEquals("main", model.getName());
 			assertEquals(ProjectStatus.DONE, project.getStatus());
 			boolean dmFound = false;
-			for (Element element : model.getAliases()) {
+			for (Element element : model.getElements()) {
 				if (dataMiningService.getMissingConnections(element).size() > 0) {
 					dmFound = true;
 				}
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java
index cbe8096960..5e7afaf635 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java
@@ -125,7 +125,7 @@ public class SearchServiceTest extends ServiceTestFunctions {
 		try {
 			createFullModel();
 			MiriamData md = new MiriamData(MiriamRelationType.BQ_BIOL_HAS_VERSION, MiriamType.CAS, "123");
-			model.getAliases().iterator().next().addMiriamData(md);
+			model.getElements().iterator().next().addMiriamData(md);
 			SearchElementResult global = searchService.searchByQuery(model, "CAS:123", 50, null, "127.0.0.1");
 			assertNotNull(global);
 			assertEquals(1, global.size());
diff --git a/service/src/test/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactoryTest.java b/service/src/test/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactoryTest.java
index 14bcf86a90..e14cc30512 100644
--- a/service/src/test/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactoryTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/search/db/drug/DrugViewFactoryTest.java
@@ -112,7 +112,7 @@ public class DrugViewFactoryTest extends ServiceTestFunctions {
 			Element alias = model.getElementByElementId("sa9");
 			alias.setName("M");
 			alias.setId(12);
-			model.removeAlias(alias);
+			model.removeElement(alias);
 			model.addElement(alias);
 			ElementIdentifier ei = new ElementIdentifier(alias, null);
 			model.setTileSize(256);
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/graph/MissingConnectionDaoTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/graph/MissingConnectionDaoTest.java
index d6b812bb0e..aa1ef78519 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/graph/MissingConnectionDaoTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/graph/MissingConnectionDaoTest.java
@@ -37,7 +37,7 @@ public class MissingConnectionDaoTest extends ServiceTestFunctions {
 		project.addModel(model);
 		modelDao.add((Model) model);
 
-		nodes = model.getAliases();
+		nodes = model.getElements();
 	}
 
 	@After
diff --git a/web/src/main/java/lcsb/mapviewer/bean/ChemicalBean.java b/web/src/main/java/lcsb/mapviewer/bean/ChemicalBean.java
index a0a0fd6a43..709a0bf310 100644
--- a/web/src/main/java/lcsb/mapviewer/bean/ChemicalBean.java
+++ b/web/src/main/java/lcsb/mapviewer/bean/ChemicalBean.java
@@ -239,7 +239,7 @@ public class ChemicalBean extends AbstractMarkerManagerBean<ChemicalView> implem
 
 			Model model = getCurrentTopModel().getSubmodelById(element.getModelId());
 
-			Element alias = model.getAliasByDbId(Integer.valueOf(element.getObjectId()));
+			Element alias = model.getElementByDbId(Integer.valueOf(element.getObjectId()));
 			List<Element> list = new ArrayList<>();
 			list.add(alias);
 			List<ChemicalView> chemicals = chemicalService
diff --git a/web/src/main/java/lcsb/mapviewer/bean/DrugBean.java b/web/src/main/java/lcsb/mapviewer/bean/DrugBean.java
index dbd1bb3205..41e848d6b1 100644
--- a/web/src/main/java/lcsb/mapviewer/bean/DrugBean.java
+++ b/web/src/main/java/lcsb/mapviewer/bean/DrugBean.java
@@ -138,7 +138,7 @@ public class DrugBean extends AbstractMarkerManagerBean<DrugView> implements Ser
 		// polygon
 		SubModelCommand subModelCommand = new SubModelCommand(model, awtPolygon);
 		Model partModel = subModelCommand.execute();
-		suggestedDrugs.addAll(drugService.getForTargets(partModel.getAliases(), new DbSearchCriteria().organisms(mapBean.getOrganism())));
+		suggestedDrugs.addAll(drugService.getForTargets(partModel.getElements(), new DbSearchCriteria().organisms(mapBean.getOrganism())));
 	}
 
 	/**
@@ -338,7 +338,7 @@ public class DrugBean extends AbstractMarkerManagerBean<DrugView> implements Ser
 
 			Model model = getCurrentTopModel().getSubmodelById(element.getModelId());
 
-			Element alias = model.getAliasByDbId(Integer.valueOf(element.getObjectId()));
+			Element alias = model.getElementByDbId(Integer.valueOf(element.getObjectId()));
 			List<Element> list = new ArrayList<>();
 			list.add(alias);
 			List<DrugView> drugs = drugService.getForTargets(list, new DbSearchCriteria().model(getCurrentTopModel()).organisms(mapBean.getOrganism()));
diff --git a/web/src/main/java/lcsb/mapviewer/bean/ExportBean.java b/web/src/main/java/lcsb/mapviewer/bean/ExportBean.java
index 1f7734ae50..9650be2c4d 100644
--- a/web/src/main/java/lcsb/mapviewer/bean/ExportBean.java
+++ b/web/src/main/java/lcsb/mapviewer/bean/ExportBean.java
@@ -289,7 +289,7 @@ public class ExportBean extends AbstractManagedBean {
 			annotations.put(mt, 0);
 		}
 		for (Model model2 : models) {
-			for (Element alias : model2.getAliases()) {
+			for (Element alias : model2.getElements()) {
 				for (MiriamData md : alias.getMiriamData()) {
 					Integer amount = annotations.get(md.getDataType());
 					amount += 1;
@@ -699,11 +699,11 @@ public class ExportBean extends AbstractManagedBean {
 		}
 
 		Set<String> components = new HashSet<String>();
-		for (Compartment alias : model.getCompartmentsAliases()) {
+		for (Compartment alias : model.getCompartments()) {
 			components.add(alias.getName());
 		}
 		for (ModelSubmodelConnection submodel : model.getSubmodelConnections()) {
-			for (Compartment alias : submodel.getSubmodel().getModel().getCompartmentsAliases()) {
+			for (Compartment alias : submodel.getSubmodel().getModel().getCompartments()) {
 				components.add(alias.getName());
 			}
 		}
@@ -1149,7 +1149,7 @@ public class ExportBean extends AbstractManagedBean {
 				// if it's clean then remove coloring
 				new ColorModelCommand(colorModel, new HashSet<>()).execute();
 			}
-			for (Element alias : colorModel.getAliases()) {
+			for (Element alias : colorModel.getElements()) {
 				alias.setVisibilityLevel(0);
 			}
 
diff --git a/web/src/main/java/lcsb/mapviewer/bean/FeedbackBean.java b/web/src/main/java/lcsb/mapviewer/bean/FeedbackBean.java
index 9932115018..aefdf5dc47 100644
--- a/web/src/main/java/lcsb/mapviewer/bean/FeedbackBean.java
+++ b/web/src/main/java/lcsb/mapviewer/bean/FeedbackBean.java
@@ -303,7 +303,7 @@ public class FeedbackBean extends AbstractMarkerManagerBean<FullCommentView> imp
 				if (feedbackElement.equals(getDescription(object))) {
 					String result = "Reactants: ";
 					for (Reactant reactant : reaction.getReactants()) {
-						result += reactant.getAlias().getName() + ", ";
+						result += reactant.getElement().getName() + ", ";
 					}
 					return result;
 				}
@@ -328,7 +328,7 @@ public class FeedbackBean extends AbstractMarkerManagerBean<FullCommentView> imp
 				if (feedbackElement.equals(getDescription(object))) {
 					String result = "Products: ";
 					for (Product product : reaction.getProducts()) {
-						result += product.getAlias().getName() + ", ";
+						result += product.getElement().getName() + ", ";
 					}
 					return result;
 				}
@@ -353,7 +353,7 @@ public class FeedbackBean extends AbstractMarkerManagerBean<FullCommentView> imp
 				if (feedbackElement.equals(getDescription(object))) {
 					String result = "Modifiers: ";
 					for (Modifier modifier : reaction.getModifiers()) {
-						result += modifier.getAlias().getName() + ", ";
+						result += modifier.getElement().getName() + ", ";
 					}
 
 					return result;
diff --git a/web/src/main/java/lcsb/mapviewer/bean/MiRNABean.java b/web/src/main/java/lcsb/mapviewer/bean/MiRNABean.java
index 6915f552c1..ba1d8260d5 100644
--- a/web/src/main/java/lcsb/mapviewer/bean/MiRNABean.java
+++ b/web/src/main/java/lcsb/mapviewer/bean/MiRNABean.java
@@ -186,7 +186,7 @@ public class MiRNABean extends AbstractMarkerManagerBean<MiRNAView> implements S
 
 			Model model = getCurrentTopModel().getSubmodelById(element.getModelId());
 
-			Element alias = model.getAliasByDbId(Integer.valueOf(element.getObjectId()));
+			Element alias = model.getElementByDbId(Integer.valueOf(element.getObjectId()));
 			List<Element> list = new ArrayList<>();
 			list.add(alias);
 			List<MiRNAView> mirnas = miRNAService.getForTargets(list, new DbSearchCriteria().model(getCurrentTopModel()).organisms(mapBean.getOrganism()));
-- 
GitLab