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 bcd7da6eec806623c261579cb2fc62fa658f1f60..fcf44102362777f98200ed90612f1a7c2173dc4d 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
@@ -17,7 +17,6 @@ import org.apache.log4j.Logger;
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.commands.SemanticZoomLevelMatcher;
 import lcsb.mapviewer.common.MimeType;
-import lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params;
 import lcsb.mapviewer.converter.graphics.bioEntity.BioEntityConverterImpl;
 import lcsb.mapviewer.converter.graphics.layer.LayerConverter;
 import lcsb.mapviewer.model.map.compartment.Compartment;
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java b/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java
index 38920e1caed5f00fc4017059749400b3a141f9e0..8e55dbd35a707a07aa425b9c166fb372d61f951e 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java
@@ -3,7 +3,11 @@ package lcsb.mapviewer.commands;
 import org.apache.log4j.Logger;
 
 public class SemanticZoomLevelMatcher {
-	Logger logger = Logger.getLogger(SemanticZoomLevelMatcher.class);
+	/**
+	 * Default class logger.
+	 */
+	@SuppressWarnings("unused")
+	private Logger logger = Logger.getLogger(SemanticZoomLevelMatcher.class);
 
 	/**
 	 * Checks if level belongs to the range defined in
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java
index 57882b31944b9b09f93db81038093d919c383396..56071ddde9682e481a222acbb34b1021b3363bad 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java
@@ -33,7 +33,11 @@ import lcsb.mapviewer.services.view.AnnotationView;
 
 @Transactional(value = "txManager")
 public abstract class BaseRestImpl {
-	Logger									logger = Logger.getLogger(BaseRestImpl.class);
+	
+	/**
+	 * Default class logger.
+	 */
+	private Logger					logger = Logger.getLogger(BaseRestImpl.class);
 
 	@Autowired
 	private IModelService		modelService;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectMetaData.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectMetaData.java
index 0d79586f926aa1a0cae0f6dc42ef10b649002536..8b4e0560e0a125cd69f1b7e2cb29b18c2378e795 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectMetaData.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectMetaData.java
@@ -6,7 +6,6 @@ import java.util.Map;
 
 import org.apache.log4j.Logger;
 
-import lcsb.mapviewer.services.view.AnnotationView;
 import lcsb.mapviewer.services.view.OverviewImageView;
 
 public class ProjectMetaData implements Serializable {
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
index 41af2e14c2428ce1486c00498ab8f8ef756260e7..a64ef7f781d081252867ed3badc89b2f645c2a27 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
@@ -62,7 +62,6 @@ import lcsb.mapviewer.services.interfaces.IUserService;
 import lcsb.mapviewer.services.utils.ColorSchemaReader;
 import lcsb.mapviewer.services.utils.data.BuildInLayout;
 import lcsb.mapviewer.services.utils.gmap.CoordinationConverter;
-import lcsb.mapviewer.services.view.AnnotationViewFactory;
 import lcsb.mapviewer.services.view.AuthenticationToken;
 import lcsb.mapviewer.services.view.OverviewImageViewFactory;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java
index 949e985122aed64db0eb3d0fc23e3daddfd472a5..25c714b01695187487c30f571f98fa7d8dccb02f 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java
@@ -36,7 +36,6 @@ public class ChemicalRestImpl extends BaseRestImpl {
 	/**
 	 * Default class logger.
 	 */
-	@SuppressWarnings("unused")
 	private Logger					 logger	= Logger.getLogger(ChemicalRestImpl.class);
 
 	@Autowired
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
index b566144f91d2f600e98b483ae143341ffb7c644f..a08a985d71237383216c776d64c2277356d19b05 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
@@ -22,7 +22,6 @@ import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.services.SecurityException;
 import lcsb.mapviewer.services.interfaces.IModelService;
 import lcsb.mapviewer.services.interfaces.IUserService;
-import lcsb.mapviewer.services.search.ElementMatcher;
 import lcsb.mapviewer.services.search.data.ElementIdentifier.ElementIdentifierType;
 import lcsb.mapviewer.services.search.db.DbSearchCriteria;
 import lcsb.mapviewer.services.search.db.drug.IDrugService;
@@ -35,16 +34,16 @@ public class DrugRestImpl extends BaseRestImpl {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger				 logger	= Logger.getLogger(DrugRestImpl.class);
+	private Logger				logger = Logger.getLogger(DrugRestImpl.class);
 
 	@Autowired
-	private IDrugService	 drugService;
+	private IDrugService	drugService;
 
 	@Autowired
-	private IModelService	 modelService;
+	private IModelService	modelService;
 
 	@Autowired
-	private IUserService	 userService;
+	private IUserService	userService;
 
 	public List<Map<String, Object>> getDrugsByQuery(String token, String projectId, String columns, String query) throws SecurityException, QueryException {
 		AuthenticationToken authenticationToken = userService.getToken(token);
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
index 1d9f8fc7e6000f1e153f183877355f224b98fd99..3f0352abf05e0f668a86f494d30b1cd9b164e3a9 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
@@ -20,7 +20,6 @@ import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.services.SecurityException;
-import lcsb.mapviewer.services.search.ElementMatcher;
 import lcsb.mapviewer.services.search.data.ElementIdentifier.ElementIdentifierType;
 import lcsb.mapviewer.services.search.db.DbSearchCriteria;
 import lcsb.mapviewer.services.search.db.mirna.IMiRNAService;
@@ -33,13 +32,10 @@ public class MiRnaRestImpl extends BaseRestImpl {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger				 logger	= Logger.getLogger(MiRnaRestImpl.class);
+	private Logger				logger = Logger.getLogger(MiRnaRestImpl.class);
 
 	@Autowired
-	private IMiRNAService	 miRnaService;
-
-	@Autowired
-	private ElementMatcher elementMatcher;
+	private IMiRNAService	miRnaService;
 
 	public List<Map<String, Object>> getMiRnasByQuery(String token, String projectId, String columns, String query) throws SecurityException, QueryException {
 		AuthenticationToken authenticationToken = getUserService().getToken(token);
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java
index 931996af49b4f8c57035a5431f87e3caaca41b65..c30f92abc8903929a1c1ddabb55d9fca647f7acf 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java
@@ -19,8 +19,6 @@ import lcsb.mapviewer.model.map.species.Protein;
 import lcsb.mapviewer.model.map.species.Rna;
 import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.model.map.species.field.ElementModification;
-import lcsb.mapviewer.model.map.species.field.ModificationResidue;
-import lcsb.mapviewer.model.map.species.field.RnaRegion;
 import lcsb.mapviewer.services.SecurityException;
 import lcsb.mapviewer.services.UserAccessException;
 import lcsb.mapviewer.services.view.OverviewImageViewFactory;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java
index 1bab83b85dc597cfe316707de11b67229d6f8ed5..ace3974815517e448e1de1e8908cd432a6c0854f 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java
@@ -1,8 +1,6 @@
 package lcsb.mapviewer.api.projects.models.publications;
 
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -33,7 +31,6 @@ import lcsb.mapviewer.services.SecurityException;
 import lcsb.mapviewer.services.interfaces.IModelService;
 import lcsb.mapviewer.services.interfaces.ISearchService;
 import lcsb.mapviewer.services.interfaces.IUserService;
-import lcsb.mapviewer.services.view.AnnotationViewFactory;
 import lcsb.mapviewer.services.view.OverviewImageViewFactory;
 
 @Transactional(value = "txManager")
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java
index 86df7fbcaae28d378d477b192b7d459c7fa929a4..32b1acd9ede8099f67a72ad949d864f29c081051 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java
@@ -16,8 +16,6 @@ import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.data.Chemical;
-import lcsb.mapviewer.annotation.data.ChemicalDirectEvidence;
-import lcsb.mapviewer.annotation.data.ChemicalDirectEvidenceTest;
 import lcsb.mapviewer.api.RestTestFunctions;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
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 b70b7bd0e6242fb11c95bfa3ffa91b5509224d1a..0a7a3244eacb3dc3dba1a2e3aa793323d4d9fc38 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/SearchResultFactory.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/SearchResultFactory.java
@@ -28,6 +28,7 @@ public abstract class SearchResultFactory<T, S extends ISearchResultView> extend
 	/**
 	 * Default class logger.
 	 */
+	@SuppressWarnings("unused")
 	private final Logger logger = Logger.getLogger(SearchResultFactory.class);
 
 	/**
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/DbSearchService.java b/service/src/main/java/lcsb/mapviewer/services/search/db/DbSearchService.java
new file mode 100644
index 0000000000000000000000000000000000000000..43bdc10b273b2dae5058ab2cf180b02bac634abf
--- /dev/null
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/DbSearchService.java
@@ -0,0 +1,48 @@
+package lcsb.mapviewer.services.search.db;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import lcsb.mapviewer.annotation.data.Target;
+import lcsb.mapviewer.annotation.data.TargettingStructure;
+import lcsb.mapviewer.annotation.services.PubmedParser;
+import lcsb.mapviewer.annotation.services.PubmedSearchException;
+import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
+import lcsb.mapviewer.model.map.MiriamData;
+import lcsb.mapviewer.model.map.MiriamType;
+
+@Transactional(value = "txManager")
+public abstract class DbSearchService {
+
+	/**
+	 * Service accessing
+	 * <a href="http://europepmc.org/RestfulWebService">pubmed</a>.
+	 */
+	@Autowired
+	private PubmedParser														 pubmedParser;
+
+	protected void cacheMiriamData(TargettingStructure targettingStructure) throws AnnotatorException {
+		Set<MiriamData> result = new HashSet<>();
+		result.addAll(targettingStructure.getSources());
+		for (Target target : targettingStructure.getTargets()) {
+			result.addAll(target.getGenes());
+			result.addAll(target.getReferences());
+
+		}
+		
+		for (MiriamData miriamData : result) {
+			if (MiriamType.PUBMED.equals(miriamData.getDataType())) {
+				try {
+					pubmedParser.getPubmedArticleById(Integer.valueOf(miriamData.getResource()));
+				} catch (NumberFormatException | PubmedSearchException e) {
+					throw new AnnotatorException(e);
+				}
+			}
+		}
+		
+	}
+
+}
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalService.java b/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalService.java
index 7ada8d540a60128a2b971d5fbdf54f7d30ac57ff..94eaaef9c453f396703f1b202b8d475d9a936906 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/chemical/ChemicalService.java
@@ -17,12 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 import lcsb.mapviewer.annotation.data.Chemical;
-import lcsb.mapviewer.annotation.data.Target;
-import lcsb.mapviewer.annotation.data.TargettingStructure;
 import lcsb.mapviewer.annotation.services.ChemicalParser;
 import lcsb.mapviewer.annotation.services.ChemicalSearchException;
-import lcsb.mapviewer.annotation.services.PubmedParser;
-import lcsb.mapviewer.annotation.services.PubmedSearchException;
 import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
 import lcsb.mapviewer.annotation.services.annotators.HgncAnnotator;
 import lcsb.mapviewer.common.IProgressUpdater;
@@ -38,6 +34,7 @@ import lcsb.mapviewer.model.map.species.Rna;
 import lcsb.mapviewer.model.map.statistics.SearchType;
 import lcsb.mapviewer.services.interfaces.ISearchHistoryService;
 import lcsb.mapviewer.services.search.db.DbSearchCriteria;
+import lcsb.mapviewer.services.search.db.DbSearchService;
 
 /**
  * Implementation of the service that allows access information about chemicals.
@@ -46,7 +43,7 @@ import lcsb.mapviewer.services.search.db.DbSearchCriteria;
  * 
  */
 @Transactional(value = "txManager")
-public class ChemicalService implements IChemicalService {
+public class ChemicalService extends DbSearchService implements IChemicalService {
 
 	/**
 	 * Default class logger.
@@ -70,13 +67,6 @@ public class ChemicalService implements IChemicalService {
 	@Autowired
 	private HgncAnnotator														 hgncAnnotator;
 
-	/**
-	 * Service accessing
-	 * <a href="http://europepmc.org/RestfulWebService">pubmed</a>.
-	 */
-	@Autowired
-	private PubmedParser														 pubmedParser;
-
 	/**
 	 * Service that manages search history.
 	 */
@@ -323,25 +313,4 @@ public class ChemicalService implements IChemicalService {
 		}
 	}
 
-	private void cacheMiriamData(TargettingStructure targettingStructure) throws AnnotatorException {
-		Set<MiriamData> result = new HashSet<>();
-		result.addAll(targettingStructure.getSources());
-		for (Target target : targettingStructure.getTargets()) {
-			result.addAll(target.getGenes());
-			result.addAll(target.getReferences());
-
-		}
-		
-		for (MiriamData miriamData : result) {
-			if (miriamData.getDataType().equals(MiriamType.PUBMED)) {
-				try {
-					pubmedParser.getPubmedArticleById(Integer.valueOf(miriamData.getResource()));
-				} catch (NumberFormatException | PubmedSearchException e) {
-					throw new AnnotatorException(e);
-				}
-			}
-		}
-		
-	}
-
 }
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugService.java b/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugService.java
index 584dfa0811af34460401f681e91418800cd9bf05..c220c2a4c102b82ea351dadb4c272f68aaad35e0 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/drug/DrugService.java
@@ -13,12 +13,9 @@ import org.springframework.transaction.annotation.Transactional;
 
 import lcsb.mapviewer.annotation.data.Drug;
 import lcsb.mapviewer.annotation.data.Target;
-import lcsb.mapviewer.annotation.data.TargettingStructure;
 import lcsb.mapviewer.annotation.services.ChEMBLParser;
 import lcsb.mapviewer.annotation.services.DrugSearchException;
 import lcsb.mapviewer.annotation.services.DrugbankHTMLParser;
-import lcsb.mapviewer.annotation.services.PubmedParser;
-import lcsb.mapviewer.annotation.services.PubmedSearchException;
 import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
 import lcsb.mapviewer.annotation.services.annotators.HgncAnnotator;
 import lcsb.mapviewer.common.IProgressUpdater;
@@ -33,6 +30,7 @@ import lcsb.mapviewer.model.map.species.Rna;
 import lcsb.mapviewer.model.map.statistics.SearchType;
 import lcsb.mapviewer.services.interfaces.ISearchHistoryService;
 import lcsb.mapviewer.services.search.db.DbSearchCriteria;
+import lcsb.mapviewer.services.search.db.DbSearchService;
 
 /**
  * Implementation of the service that allows access information about drugs.
@@ -41,7 +39,7 @@ import lcsb.mapviewer.services.search.db.DbSearchCriteria;
  * 
  */
 @Transactional(value = "txManager")
-public class DrugService implements IDrugService {
+public class DrugService extends DbSearchService implements IDrugService {
 
 	/**
 	 * Default class logger.
@@ -67,13 +65,6 @@ public class DrugService implements IDrugService {
 	@Autowired
 	private HgncAnnotator					hgncAnnotator;
 
-	/**
-	 * Service accessing
-	 * <a href="http://europepmc.org/RestfulWebService">pubmed</a>.
-	 */
-	@Autowired
-	private PubmedParser					pubmedParser;
-
 	/**
 	 * Service that manages search history.
 	 */
@@ -348,23 +339,6 @@ public class DrugService implements IDrugService {
 		this.searchHistoryService = searchHistoryService;
 	}
 
-	/**
-	 * @return the pubmedParser
-	 * @see #pubmedParser
-	 */
-	public PubmedParser getPubmedParser() {
-		return pubmedParser;
-	}
-
-	/**
-	 * @param pubmedParser
-	 *          the pubmedParser to set
-	 * @see #pubmedParser
-	 */
-	public void setPubmedParser(PubmedParser pubmedParser) {
-		this.pubmedParser = pubmedParser;
-	}
-
 	@Override
 	public void cacheDataForModel(Model originalModel, IProgressUpdater iProgressUpdater) {
 		logger.debug("Caching drug queries...");
@@ -410,26 +384,4 @@ public class DrugService implements IDrugService {
 			}
 		}
 	}
-
-	private void cacheMiriamData(TargettingStructure targettingStructure) throws AnnotatorException {
-		Set<MiriamData> result = new HashSet<>();
-		result.addAll(targettingStructure.getSources());
-		for (Target target : targettingStructure.getTargets()) {
-			result.addAll(target.getGenes());
-			result.addAll(target.getReferences());
-
-		}
-
-		for (MiriamData miriamData : result) {
-			if (miriamData.getDataType().equals(MiriamType.PUBMED)) {
-				try {
-					pubmedParser.getPubmedArticleById(Integer.valueOf(miriamData.getResource()));
-				} catch (NumberFormatException | PubmedSearchException e) {
-					throw new AnnotatorException(e);
-				}
-			}
-		}
-
-	}
-
 }
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAService.java b/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAService.java
index 57ccbb24e684aa05fd347e39cc442cfdd3125d8a..136a1022424a2a323b18978ef40fa64aca9b8645 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/db/mirna/MiRNAService.java
@@ -15,11 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
 
 import lcsb.mapviewer.annotation.data.MiRNA;
 import lcsb.mapviewer.annotation.data.Target;
-import lcsb.mapviewer.annotation.data.TargettingStructure;
 import lcsb.mapviewer.annotation.services.MiRNAParser;
 import lcsb.mapviewer.annotation.services.MiRNASearchException;
-import lcsb.mapviewer.annotation.services.PubmedParser;
-import lcsb.mapviewer.annotation.services.PubmedSearchException;
 import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
 import lcsb.mapviewer.annotation.services.annotators.HgncAnnotator;
 import lcsb.mapviewer.common.IProgressUpdater;
@@ -34,6 +31,7 @@ import lcsb.mapviewer.model.map.species.Rna;
 import lcsb.mapviewer.model.map.statistics.SearchType;
 import lcsb.mapviewer.services.interfaces.ISearchHistoryService;
 import lcsb.mapviewer.services.search.db.DbSearchCriteria;
+import lcsb.mapviewer.services.search.db.DbSearchService;
 
 /**
  * Implementation of the service that allows access information about che.
@@ -42,7 +40,7 @@ import lcsb.mapviewer.services.search.db.DbSearchCriteria;
  * 
  */
 @Transactional(value = "txManager")
-public class MiRNAService implements IMiRNAService {
+public class MiRNAService extends DbSearchService implements IMiRNAService {
 
 	/**
 	 * Default class logger.
@@ -68,13 +66,6 @@ public class MiRNAService implements IMiRNAService {
 	@Autowired
 	private ISearchHistoryService	searchHistoryService;
 
-	/**
-	 * Service accessing
-	 * <a href="http://europepmc.org/RestfulWebService">pubmed</a>.
-	 */
-	@Autowired
-	private PubmedParser					pubmedParser;
-
 	/**
 	 * Default constructor.
 	 */
@@ -243,25 +234,4 @@ public class MiRNAService implements IMiRNAService {
 		}
 	}
 
-	private void cacheMiriamData(TargettingStructure targettingStructure) throws AnnotatorException {
-		Set<MiriamData> result = new HashSet<>();
-		result.addAll(targettingStructure.getSources());
-		for (Target target : targettingStructure.getTargets()) {
-			result.addAll(target.getGenes());
-			result.addAll(target.getReferences());
-
-		}
-
-		for (MiriamData miriamData : result) {
-			if (miriamData.getDataType().equals(MiriamType.PUBMED)) {
-				try {
-					pubmedParser.getPubmedArticleById(Integer.valueOf(miriamData.getResource()));
-				} catch (NumberFormatException | PubmedSearchException e) {
-					throw new AnnotatorException(e);
-				}
-			}
-		}
-
-	}
-
 }
diff --git a/web/src/test/java/lcsb/mapviewer/bean/ConfigurationBeanTest.java b/web/src/test/java/lcsb/mapviewer/bean/ConfigurationBeanTest.java
index cbc0cd46bce3da8c5ad5b1dc17a07292cf92ff38..de78f41fcc601f02c197278c77d4208869803382 100644
--- a/web/src/test/java/lcsb/mapviewer/bean/ConfigurationBeanTest.java
+++ b/web/src/test/java/lcsb/mapviewer/bean/ConfigurationBeanTest.java
@@ -1,19 +1,6 @@
 package lcsb.mapviewer.bean;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
 import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import lcsb.mapviewer.common.Configuration;
-import lcsb.mapviewer.model.user.ConfigurationElementType;
-import lcsb.mapviewer.model.user.PrivilegeType;
-import lcsb.mapviewer.model.user.User;
-import lcsb.mapviewer.services.view.ConfigurationView;
-import lcsb.mapviewer.services.view.ConfigurationViewFactory;
-import lcsb.mapviewer.services.view.ProjectView;
 
 import org.apache.commons.lang3.SerializationUtils;
 import org.junit.After;
@@ -21,15 +8,21 @@ import org.junit.Before;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import lcsb.mapviewer.common.Configuration;
+import lcsb.mapviewer.model.user.ConfigurationElementType;
+import lcsb.mapviewer.model.user.PrivilegeType;
+import lcsb.mapviewer.model.user.User;
+import lcsb.mapviewer.services.view.ConfigurationViewFactory;
+
 public class ConfigurationBeanTest extends WebTestFunctions {
 
-	ConfigurationBean					cBean;
-	UserBean									uBean;
-	String										oldValue;
-	User											user2;
+	ConfigurationBean				 cBean;
+	UserBean								 uBean;
+	String									 oldValue;
+	User										 user2;
 
 	@Autowired
-	ConfigurationViewFactory	configurationViewFactory;
+	ConfigurationViewFactory configurationViewFactory;
 
 	@Before
 	public void setUp() throws Exception {