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 1dadb9b0719c267553e8e53f9bd8d9d18b7678c0..a29e3d25ba9079cb321c803f7a3ae68b03d02cc6 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
@@ -25,15 +25,12 @@ import lcsb.mapviewer.annotation.services.annotators.GoAnnotator;
 import lcsb.mapviewer.annotation.services.annotators.HgncAnnotator;
 import lcsb.mapviewer.annotation.services.annotators.ReconAnnotator;
 import lcsb.mapviewer.annotation.services.annotators.UniprotAnnotator;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
 import lcsb.mapviewer.common.IProgressUpdater;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
-import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.map.AnnotatedObject;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.model.Model;
-import lcsb.mapviewer.model.map.model.ModelData;
 import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
@@ -167,13 +164,13 @@ public class ModelAnnotator {
 	/**
 	 * Performs all possible and automatic annotations on the model.
 	 * 
-	 * @param project
-	 *          project to update
+	 * @param model
+	 *          model to update
 	 * @param progressUpdater
 	 *          callback function used for updating progress of the function
 	 */
-	public void performAnnotations(Project project, final IProgressUpdater progressUpdater) {
-		performAnnotations(project, progressUpdater, null);
+	public void performAnnotations(Model model, final IProgressUpdater progressUpdater) {
+		performAnnotations(model, progressUpdater, null);
 	}
 
 	/**
@@ -182,48 +179,37 @@ public class ModelAnnotator {
 	 * @param annotators
 	 *          this map contains lists of {@link ElementAnnotator} objects that
 	 *          should be used for a given classes
-	 * @param project
-	 *          project with models to update
+	 * @param model
+	 *          model to update
 	 * @param progressUpdater
 	 *          callback function used for updating progress of the function
 	 */
-	public void performAnnotations(Project project, final IProgressUpdater progressUpdater, Map<Class<?>, List<ElementAnnotator>> annotators) {
-		EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-		try {
-			Logger.getRootLogger().addAppender(appender);
-			progressUpdater.setProgress(0);
-			List<Model> models = new ArrayList<>();
-			for (ModelData model: project.getModels()) {
-				models.add(model.getModel());
-				models.addAll(model.getModel().getSubmodels());
-			}
-			final double size = models.size();
-			double counter = 0;
-			for (Model m : models) {
-				final double ratio = counter / size;
+	public void performAnnotations(Model model, final IProgressUpdater progressUpdater, Map<Class<?>, List<ElementAnnotator>> annotators) {
+		progressUpdater.setProgress(0);
+		List<Model> models = new ArrayList<Model>();
+		models.add(model);
+		models.addAll(model.getSubmodels());
+		final double size = models.size();
+		double counter = 0;
+		for (Model m : models) {
+			final double ratio = counter / size;
 
-				copyAnnotationFromOtherSpecies(m, new IProgressUpdater() {
-					@Override
-					public void setProgress(final double progress) {
-						progressUpdater.setProgress(ratio * IProgressUpdater.MAX_PROGRESS + (progress * COPYING_RATIO) / size);
-					}
-				});
-				annotateModel(m, new IProgressUpdater() {
+			copyAnnotationFromOtherSpecies(m, new IProgressUpdater() {
+				@Override
+				public void setProgress(final double progress) {
+					progressUpdater.setProgress(ratio * IProgressUpdater.MAX_PROGRESS + (progress * COPYING_RATIO) / size);
+				}
+			});
+			annotateModel(m, new IProgressUpdater() {
 
-					@Override
-					public void setProgress(double progress) {
-						progressUpdater
-								.setProgress(ratio * IProgressUpdater.MAX_PROGRESS + (COPYING_RATIO * IProgressUpdater.MAX_PROGRESS + progress * ANNOTATING_RATIO) / size);
-					}
-				}, annotators);
-				counter++;
-			}
-			Logger.getRootLogger().removeAppender(appender);
-			project.addLoggingInfo(appender);
-		} finally {
-			Logger.getRootLogger().removeAppender(appender);
+				@Override
+				public void setProgress(double progress) {
+					progressUpdater
+							.setProgress(ratio * IProgressUpdater.MAX_PROGRESS + (COPYING_RATIO * IProgressUpdater.MAX_PROGRESS + progress * ANNOTATING_RATIO) / size);
+				}
+			}, annotators);
+			counter++;
 		}
-
 	}
 
 	/**
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java
index 0402014d4290a000aee2cefaad7a8ab8b2513932..b920636e1df0756272fad0d9ad983f95d42dd909 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java
@@ -29,7 +29,6 @@ import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
 import lcsb.mapviewer.annotation.services.annotators.ElementAnnotator;
 import lcsb.mapviewer.annotation.services.annotators.ReconAnnotator;
 import lcsb.mapviewer.common.IProgressUpdater;
-import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.map.AnnotatedObject;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamRelationType;
@@ -312,9 +311,7 @@ public class ModelAnnotatorTest extends AnnotationTestFunctions {
 
 			final MutableDouble maxProgress = new MutableDouble(0.0);
 
-			Project project = new Project();
-			project.addModel(model);
-			modelAnnotator.performAnnotations(project, new IProgressUpdater() {
+			modelAnnotator.performAnnotations(model, new IProgressUpdater() {
 				@Override
 				public void setProgress(double progress) {
 					maxProgress.setValue(Math.max(progress, maxProgress.getValue()));
diff --git a/console/src/main/java/lcsb/mapviewer/run/BellExport.java b/console/src/main/java/lcsb/mapviewer/run/BellExport.java
index b70a0b9423f1d14817c996a6ca3f5d529ee0dc2e..f3c63406f72f52f727ab78bb90300bd7ef08caae 100644
--- a/console/src/main/java/lcsb/mapviewer/run/BellExport.java
+++ b/console/src/main/java/lcsb/mapviewer/run/BellExport.java
@@ -7,7 +7,6 @@ import lcsb.mapviewer.annotation.services.ModelAnnotator;
 import lcsb.mapviewer.common.IProgressUpdater;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
-import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.persist.ApplicationContextLoader;
@@ -82,10 +81,8 @@ public class BellExport {
 			// version = "1.1.38";
 			dbUtils.createSessionForCurrentThread();
 			Model model = p.createModel(new ConverterParams().filename(filename));
-			Project project = new Project();
-			project.addModel(model);
 
-			modelAnnotator.performAnnotations(project, new IProgressUpdater() {
+			modelAnnotator.performAnnotations(model, new IProgressUpdater() {
 				@Override
 				public void setProgress(double progress) {
 				}
diff --git a/console/src/main/java/lcsb/mapviewer/run/Statistics.java b/console/src/main/java/lcsb/mapviewer/run/Statistics.java
index 661ba6db47c7c665ece62c7058f37c82b7cf6491..600a4ba8a0c4c83c1fbabc60dc3332522cacaf4c 100644
--- a/console/src/main/java/lcsb/mapviewer/run/Statistics.java
+++ b/console/src/main/java/lcsb/mapviewer/run/Statistics.java
@@ -20,7 +20,6 @@ import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.IProgressUpdater;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
-import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -113,11 +112,9 @@ public class Statistics {
 		try {
 			// String modelName = PdMapAnnotations.getLastPdFilename();
 			CellDesignerXmlParser parser = new CellDesignerXmlParser();
-			Project project = new Project();
 			for (String name : fileNames) {
 				Model model = parser.createModel(new ConverterParams().filename(name));
 				models.add(model);
-				project.addModel(model);
 			}
 
 			IProgressUpdater updater = new IProgressUpdater() {
@@ -126,7 +123,9 @@ public class Statistics {
 					logger.debug("Progress: " + progress);
 				}
 			};
-			modelAnnotator.performAnnotations(project, updater);
+			for (Model model : models) {
+				modelAnnotator.performAnnotations(model, updater);
+			}
 			// modelAnnotator.removeIncorrectAnnotations(model, updater);
 
 			printStatistics(models);
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 46a9e71f115c740c62e9b71c46c53575d016e42f..04fd199662b8f6ce186ca230aef29099a4c0b1e2 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -735,7 +735,7 @@ public class ProjectService implements IProjectService {
 				}
 			}
 			logger.debug("Updating annotations");
-			modelAnnotator.performAnnotations(project, new IProgressUpdater() {
+			modelAnnotator.performAnnotations(model, new IProgressUpdater() {
 
 				@Override
 				public void setProgress(final double progress) {