diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
index fc47cfa09ab4c39ee954b86a5bd75df16f292736..12b53f8fc04b54b6cac26901a90a2b553d9701de 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
@@ -24,8 +24,8 @@ public final class DublinCoreBuilder {
   private OaiDcType tgMappedDC = new OaiDcType();
   private ObjectFactory oaiDcObj = new ObjectFactory();
   private MetadataType metadata = new MetadataType();
-
   
+ 
   /**
    * <p>
    * s * Constructor to build an DublinCore element for an OAIPMH request by getting TextGrid
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
index f111ec061235a352089eb1d01159b0bcb7973801..e0ca8e68a9fdc9cf892d80365b13a9a7fb3e8038 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
@@ -1,11 +1,9 @@
 package info.textgrid.middleware;
 
-import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import javax.xml.datatype.DatatypeConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.elasticsearch.action.get.GetResponse;
@@ -31,347 +29,25 @@ public class DublinCoreFieldLoader {
   private static Log log = LogFactory.getLog(OAIPMHImpl.class);
 
   /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
+   * This function takes the results of the ElasticSearch resuest 
+   * and fills the String-Lists with the specific values for the dublin core field
+   * @param responseOfGetRequest result of the ElasticSearch request from a getRequest (Single Result)
+   * @param fields String List for the specific dublin core field
+   * @return String List containing the values for the specific dublin core field
    */
-  public static List<String> setContributor(SearchHit hit, String[] fields) {
-
-    List<String> contributors = new ArrayList<String>();
-
-/*    for (String field : fields) {
-      if (hit.getFields().get(field) != null) {
-        contributors.add(hit.getFields().get(field).getValues().get(0)
-            .toString());
-      }
-    }*/
-
-    return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setContributor(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setCreator(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-
-
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setCreator(SearchHit hit, String[] fields) {
-
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setCoverage(GetResponse responseWorkValues, String[] fields) {
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setCoverage(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setDate(GetResponse responseWorkValues, String[] fields) {
-	  //TODO: transform to OAI-PMH certificated time stamp
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setDate(SearchHit hit, String[] fields) {
-
-    List<String> dates = new ArrayList<String>();
-    System.out.println("TADA");
-    for (String field : fields) {
-      if (hit.getFields().get(field) != null) {
-
-        try {
-          dates.add(OAIPMHUtillities.convertDateFormat(
-              hit.getFields().get(field).getValues().get(0).toString()).toXMLFormat());
-        } catch (ParseException e) {
-          // TODO Auto-generated catch block
-          e.printStackTrace();
-        } catch (DatatypeConfigurationException e) {
-          // TODO Auto-generated catch block
-          e.printStackTrace();
-        }
-      }
-    }
-
-    return dates;
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setDescription(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setDescription(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setFormat(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setFormat(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setIdentifier(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setIdentifier(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setLanguage(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setLanguage(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setPublisher(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setPublisher(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setRelation(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setRelation(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setRelationForWork(GetResponse responseWorkValues, String[] fields) {
-
-	  /*for(String field : fields) {
-		  System.out.println(field);
-	  }*/
-	  
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setRights(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setRights(GetResponse responseWorkValues, String[] fields) {
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setSources(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setSources(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setSubject(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setSubject(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setTitle(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setTitle(GetResponse responseWorkValues, String[] fields) {
-
-	  return fillList(responseWorkValues, fields);
-  }
-
-  /**
-   * @param responseWorkValues contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setType(GetResponse responseWorkValues, String[] fields) {
-
-    //List<String> types = new ArrayList<String>();    
-
-    return fillList(responseWorkValues, fields);
-  } 
-  
-
-  /**
-   * @param hit contains results of the ElasticSearch request
-   * @param fields containing all fields from ElasticSearch related to this Dublin Core field
-   * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
-   */
-  public static List<String> setType(SearchHit hit, String[] fields) {
-	  return fillList(hit, fields);
-  }
-  
-  public static List<String> fillList(GetResponse responseWorkValues, String[] fields){
+    
+  @SuppressWarnings("unchecked")
+  public static List<String> fillList(GetResponse responseOfGetRequest, String[] fields){
 	  List<String> list = new ArrayList<String>();
-	  
-	    if (responseWorkValues.isExists()) {
+	  /**
+	   * A stepwise
+	   */
+	    if (responseOfGetRequest.isExists()) {
 	        if (fields != null) {	          
 	          for (String field : fields) {    
-	            if(responseWorkValues.getSourceAsMap().get(field)==null ) {	
+	            if(responseOfGetRequest.getSourceAsMap().get(field)==null ) {	
 		          String[] requestedField = field.split("\\.");
-		          Map<String, Object> nestedMap = responseWorkValues.getSourceAsMap();
+		          Map<String, Object> nestedMap = responseOfGetRequest.getSourceAsMap();
 		          String valueOfRequestedField=null;
 		          Map<String, Object> nestedMap2 = null;
 		          for(int i=0; i<requestedField.length; i++) {
@@ -388,7 +64,7 @@ public class DublinCoreFieldLoader {
 		            nestedMap= nestedMap2;
 		          }
 	            }else {
-	            	list.add(responseWorkValues.getSourceAsMap().get(field).toString());
+	            	list.add(responseOfGetRequest.getSourceAsMap().get(field).toString());
 	            }
 	        }
 	      }
@@ -396,7 +72,14 @@ public class DublinCoreFieldLoader {
 	  
 	  return list;
   }
-  
+  /**
+   * This function takes the results of the ElasticSearch resuest 
+   * and fills the String-Lists with the specific values for the dublin core field
+   * @param hit result of the ElasticSearch request from a multi get Request 
+   * @param fields String List for the specific dublin core field
+   * @return String List containing the values for the specific dublin core field
+   */
+  @SuppressWarnings("unchecked")
   public static List<String> fillList(SearchHit hit, String[] fields){
 	  List<String> list = new ArrayList<String>();	  
 	    
@@ -412,7 +95,7 @@ public class DublinCoreFieldLoader {
 		            	try {
 		            		nestedMap2 = (Map<String, Object>)nestedMap.get(requestedField[i]);	
 		            	}catch(ClassCastException cce) {
-		            		
+		            		log.info("could not transform the elasticSearch result");
 		            	}		              
 		            }            
 		            if(i==requestedField.length-1 &&  
@@ -428,9 +111,7 @@ public class DublinCoreFieldLoader {
 	            	list.add(hit.getSourceAsMap().get(field).toString());
 	            }
 	        }
-	      }
-	    
-	  
+	      }	  
 	  return list;
   }
 
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
index 8489a98505e961e141fe4347c34dcc27372fc633..1131acbf1218737b6db83e1bb1ac6b408706c0b1 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
@@ -22,8 +22,6 @@ import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
 import org.elasticsearch.search.builder.SearchSourceBuilder;
-import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
-
 
 
 /**
@@ -117,8 +115,6 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
  
     String[] includes = this.identifierListFields;
     String[] excludes = Strings.EMPTY_ARRAY;
-    FetchSourceContext fetchSourceContext =
-        new FetchSourceContext(true, includes, excludes);
     
     
     SearchRequest searchRequest = new SearchRequest(OAI_ESClient.getEsIndex()).searchType(SearchType.QUERY_THEN_FETCH);
@@ -178,10 +174,10 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
 
       if (this.dariah) {
 
-        this.datestamp = hit.getFields().get(this.dateOfObjectCreation).getValue().toString();
+        this.datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
 
         try {
-          this.datestamp = hit.getFields().get(this.dateOfObjectCreation).getValue().toString();
+          this.datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
           this.datestamp = OAIPMHUtillities.convertDateFormat(this.datestamp).toXMLFormat();
         } catch (ParseException e1) {
           log.debug(e1);
@@ -189,7 +185,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
           log.debug(e1);
         }
 
-        String identifier = hit.getFields().get(this.identifierField).getValue().toString();
+        String identifier = hit.getSourceAsMap().get(this.identifierField).toString();
         lit = setListIdentifierHeader(this.datestamp, identifier, lit, set);
       }
     }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
index 66d92ec3abc373bbf9f037142c07d0ad295030c1..b72c33c60fab3add682c94d734f4420ae3f403ba 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
@@ -2,9 +2,7 @@ package info.textgrid.middleware;
 
 import java.io.IOException;
 
-import org.elasticsearch.action.get.GetAction;
 import org.elasticsearch.action.get.GetRequest;
-import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
 import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.common.Strings;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
index 173fe454ba6023886ca03329a3da7302f78044e2..d7a667779aabee23d01bc6b45af654052388ac92 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -15,8 +15,6 @@ import info.textgrid.middleware.oaipmh.ListMetadataFormatsType;
 import info.textgrid.middleware.oaipmh.ListRecordsType;
 import info.textgrid.middleware.oaipmh.ListSetsType;
 import info.textgrid.middleware.oaipmh.OAIPMHType;
-import info.textgrid.middleware.oaipmh.OAIPMHerrorType;
-import info.textgrid.middleware.oaipmh.OAIPMHerrorcodeType;
 import info.textgrid.middleware.oaipmh.ObjectFactory;
 import info.textgrid.middleware.oaipmh.RequestType;
 import info.textgrid.middleware.oaipmh.VerbType;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java
index b6d68b2686f0fed709817210b329899cfc8e297f..9a2b3ff97b93ce79e138522b51cdf0a4c5674941 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAI_ESClient.java
@@ -6,13 +6,9 @@ import java.util.List;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.http.HttpHost;
-import org.elasticsearch.client.Client;
-import org.elasticsearch.client.transport.TransportClient;
 import org.elasticsearch.client.RestClient;
 import org.elasticsearch.client.RestHighLevelClient;
 
-import org.elasticsearch.common.settings.Settings;
-
 
 /**
  * Establishing to connection to an ElasticSearch client
@@ -63,6 +59,8 @@ public class OAI_ESClient {
 	    setEsClient(new RestHighLevelClient(
 	        RestClient.builder(
 	            hosts.toArray(new HttpHost[hosts.size()]))));
+	    
+	    log.info("ElasticSearchClient started with settings: " + url + " ," + ports.toString() + " http");
 	}
 
 	/**
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
index e93754a6db6dab4a687a070db7ba3b2a9b4f26b1..a925524fbdeacf2b71fa1b8cf3d11d245b03cc9b 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
@@ -2,9 +2,7 @@ package info.textgrid.middleware;
 
 import java.io.IOException;
 import java.text.ParseException;
-import java.util.Map;
 
-import javax.swing.plaf.synth.SynthSpinnerUI;
 import javax.xml.datatype.DatatypeConfigurationException;
 import org.apache.commons.logging.LogFactory;
 import org.elasticsearch.action.get.GetRequest;
@@ -17,11 +15,6 @@ import info.textgrid.middleware.oaipmh.GetRecordType;
 import info.textgrid.middleware.oaipmh.HeaderType;
 import info.textgrid.middleware.oaipmh.RecordType;
 
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
 
 
 /**
@@ -59,14 +52,14 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
   private String[] languageList;
   private String[] publisherList;
   private String[] relationList;
-  private String[] relationForWorkList;
+  //private String[] relationForWorkList;
   private String[] rightList;
   private String[] sourceList;
   private String[] subjectList;
   private String[] titleList;
   private String[] typeList;
 
-  private String textGridObjectAsJSON;
+  //private String textGridObjectAsJSON;
   
   private static org.apache.commons.logging.Log log = LogFactory.getLog(RecordDelivererDC.class);
 
@@ -103,18 +96,15 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
  
     GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), changedId).fetchSourceContext(fetchSourceContext);
     GetResponse esResultObject=null;
-
+    
 	try {
-
 		esResultObject = 
 				OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
-		Gson gson = new GsonBuilder().create();
-		textGridObjectAsJSON=esResultObject.getSourceAsString();
-
 
 	} catch (IOException e1) {
 		// TODO Auto-generated catch block
 		e1.printStackTrace();
+		log.error("Could not fetch the result of ElasticSearch");
 	}
 
     if (esResultObject.isExists()) {
@@ -123,14 +113,14 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
 
       if (this.dariah == true) {
         dublinCoreBuilder = putContentIntoDCFieldLists(esResultObject);
-        identifier = esResultObject.getField(this.identifierField).getValue().toString();
+        identifier = esResultObject.getSourceAsMap().get(this.identifierField).toString();
         String dateOfCreation = "NO_DATE_SET!";
 
         if (esResultObject.getField(this.dateOfObjectCreation) != null) {
           try {
             dateOfCreation = OAIPMHUtillities
                 .convertDateFormat(
-                    esResultObject.getField(this.dateOfObjectCreation).getValue().toString())
+                    esResultObject.getSourceAsMap().get(this.dateOfObjectCreation).toString())
                 .toXMLFormat();
           } catch (ParseException e) {
             // TODO Auto-generated catch block
@@ -147,29 +137,11 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
 
       if (this.textgrid == true && esResultObject.getSourceAsMap().get(this.formatField).equals(this.formatToFilter)) {
     	
-    	String[] requestedField = relationToFurtherMetadataObject.split("\\.");
-    	
-    	Map<String, Object> nestedMap = esResultObject.getSourceAsMap();
-    	String valueOfRequestedField=null;
-    	Map<String, Object> nestedMap2 = null;
-    	for(int i=0; i<requestedField.length; i++) {
-
-    		if(i<requestedField.length-1) {
-    			nestedMap2 = (Map<String, Object>)nestedMap.get(requestedField[i]);
-    		}
-        	if(i==requestedField.length-1) {
-        		valueOfRequestedField =nestedMap2.get(requestedField[i]).toString();
-        	}       	
-    	}
-    	
-    	//Map<String, Object> nestedMap2 = (Map<String, Object>)nestedMap.get("edition");
-    	
-        String workUri = nestedMap2.get("isEditionOf").toString();
+    	String workUri = DublinCoreFieldLoader.fillList(esResultObject, new String[] {relationToFurtherMetadataObject}).get(0);
         workUri = workUri.substring(this.repositoryObjectURIPrefix.length());
         dublinCoreBuilder = putContentIntoDCFieldLists(esResultObject, furtherDCElements(workUri));
         identifier = esResultObject.getSourceAsMap().get(this.identifierField).toString();
-        String dateOfCreation = 
-            esResultObject.getSourceAsMap().get(this.dateOfObjectCreation).toString();
+        String dateOfCreation = esResultObject.getSourceAsMap().get(this.dateOfObjectCreation).toString();
         setRecordHeader(dateOfCreation, identifier, record, dublinCoreBuilder);
         record.setMetadata(dublinCoreBuilder.getDC());
       }
@@ -177,7 +149,7 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
       getRecordType.setRecord(record);
 
     } else {
-      getRecordType = null;
+      return null;
     }
 
     return getRecordType;
@@ -188,10 +160,12 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
   // **
 
   /**
+   * This function builds the header element in the XML file for the OAI-PMH response
+   * 
    * @param dateOfCreation
    * @param identifier
-   * @param record
-   * @param dbc
+   * @param record object containing all elements for the record in the OAI-PMH response
+   * @param dbc object containing the dublin core elements for the XML file 
    * @return
    */
   private static RecordType setRecordHeader(String dateOfCreation, String identifier,
@@ -213,51 +187,35 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
    */
   private GetResponse furtherDCElements(String id) {
 
-	    String[] includes = this.workFields;
-	    String[] excludes = Strings.EMPTY_ARRAY;
-	    FetchSourceContext fetchSourceContext =
+	String[] includes = this.workFields;
+	String[] excludes = Strings.EMPTY_ARRAY;
+	FetchSourceContext fetchSourceContext =
 	        new FetchSourceContext(true, includes, excludes);
+	
     if (!id.endsWith(".0")) {
       id = id.concat(".0");
     }
-
-    
-    GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext);
-    GetResponse responseWorkValues=null;
     
+    GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id)
+    		.fetchSourceContext(fetchSourceContext);
+    GetResponse responseWorkValues=null;    
 
     try {
 		responseWorkValues = OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
-
 	} catch (IOException e) {
 		// TODO Auto-generated catch block
 		e.printStackTrace();
 	}
     
-    
-
-    // FIXME MAX!!! DO WE NEED THST DATE???
-    // FIXME MAX!!! DO WE NEED THST DATE???
-    // FIXME MAX!!! DO WE NEED THST DATE???
-
-    // try {
-    // if (responseWorkValues.getField(this.dateOfObjectCreation) != null) {
-    // this.dates.add(OAIPMHUtillities.convertDateFormat(
-    // responseWorkValues.getField(this.dateOfObjectCreation).getValue().toString())
-    // .toXMLFormat());
-    // }
-    // } catch (ParseException e) {
-    // log.debug(e);
-    // } catch (DatatypeConfigurationException e) {
-    // log.debug(e);
-    // }
-
     return responseWorkValues;
   }
 
   /**
-   * @param responseWorkValues
-   * @param relatedWorkObject
+   * In case of TextGrid data from two objects are necessary. The edition object and the linked work object.
+   * In result for building the DC-Object both objects from the ES-Index are needed 
+   * 
+   * @param responseWorkValues contains the edition object
+   * @param relatedWorkObject contains the work object related to edition object
    */
   private DublinCoreBuilder putContentIntoDCFieldLists(GetResponse responseWorkValues,
       GetResponse relatedWorkObject) {
@@ -267,28 +225,30 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
     // Set DublinCore lists with content from elastic search results due to configuration.
     result.setContributor(
         DublinCoreFieldLoader.fillList(responseWorkValues, this.contributorList));
-    result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList));
-    result.setCreator(DublinCoreFieldLoader.setCreator(relatedWorkObject, this.creatorList));
-    result.setDate(DublinCoreFieldLoader.setDate(relatedWorkObject, this.dateList));
+    result.setCoverage(DublinCoreFieldLoader.fillList(responseWorkValues, this.coverageList));
+    result.setCreator(DublinCoreFieldLoader.fillList(relatedWorkObject, this.creatorList));
+    result.setDate(DublinCoreFieldLoader.fillList(relatedWorkObject, this.dateList));
     result.setDescription(
-        DublinCoreFieldLoader.setDescription(relatedWorkObject, this.descriptionList));
-    result.setFormat(DublinCoreFieldLoader.setFormat(responseWorkValues, this.formatList));
+        DublinCoreFieldLoader.fillList(relatedWorkObject, this.descriptionList));
+    result.setFormat(DublinCoreFieldLoader.fillList(responseWorkValues, this.formatList));
     result.setIdentifier(
-        DublinCoreFieldLoader.setIdentifier(responseWorkValues, this.identifierList));
-    result.setLanguage(DublinCoreFieldLoader.setLanguage(responseWorkValues, this.languageList));
-    result.setPublisher(DublinCoreFieldLoader.setPublisher(responseWorkValues, this.publisherList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.identifierList));
+    result.setLanguage(DublinCoreFieldLoader.fillList(responseWorkValues, this.languageList));
+    result.setPublisher(DublinCoreFieldLoader.fillList(responseWorkValues, this.publisherList));
     result.setRelation(
-        DublinCoreFieldLoader.setRelationForWork(responseWorkValues, this.relationList));
-    result.setRights(DublinCoreFieldLoader.setRights(responseWorkValues, this.rightList));
-    result.setSource(DublinCoreFieldLoader.setSources(responseWorkValues, this.sourceList));
-    result.setSubject(DublinCoreFieldLoader.setSubject(relatedWorkObject, this.subjectList));
-    result.setTitle(DublinCoreFieldLoader.setTitle(responseWorkValues, this.titleList));
-    result.setType(DublinCoreFieldLoader.setType(relatedWorkObject, this.typeList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.relationList));
+    result.setRights(DublinCoreFieldLoader.fillList(responseWorkValues, this.rightList));
+    result.setSource(DublinCoreFieldLoader.fillList(responseWorkValues, this.sourceList));
+    result.setSubject(DublinCoreFieldLoader.fillList(relatedWorkObject, this.subjectList));
+    result.setTitle(DublinCoreFieldLoader.fillList(responseWorkValues, this.titleList));
+    result.setType(DublinCoreFieldLoader.fillList(relatedWorkObject, this.typeList));
 
     return result;
   }
 
   /**
+   * This function with just one object as parameter is for DARIAH
+   * 
    * @param responseWorkValues
    */
   private DublinCoreBuilder putContentIntoDCFieldLists(GetResponse responseWorkValues) {
@@ -297,24 +257,24 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
 
     // Set DublinCore lists with content from elastic search results due to configuration.
     result.setContributor(
-        DublinCoreFieldLoader.setContributor(responseWorkValues, this.contributorList));
-    result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList));
-    result.setCreator(DublinCoreFieldLoader.setCreator(responseWorkValues, this.creatorList));
-    result.setDate(DublinCoreFieldLoader.setDate(responseWorkValues, this.dateList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.contributorList));
+    result.setCoverage(DublinCoreFieldLoader.fillList(responseWorkValues, this.coverageList));
+    result.setCreator(DublinCoreFieldLoader.fillList(responseWorkValues, this.creatorList));
+    result.setDate(DublinCoreFieldLoader.fillList(responseWorkValues, this.dateList));
     result.setDescription(
-        DublinCoreFieldLoader.setDescription(responseWorkValues, this.descriptionList));
-    result.setFormat(DublinCoreFieldLoader.setFormat(responseWorkValues, this.formatList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.descriptionList));
+    result.setFormat(DublinCoreFieldLoader.fillList(responseWorkValues, this.formatList));
     result.setIdentifier(
-        DublinCoreFieldLoader.setIdentifier(responseWorkValues, this.identifierList));
-    result.setLanguage(DublinCoreFieldLoader.setLanguage(responseWorkValues, this.languageList));
-    result.setPublisher(DublinCoreFieldLoader.setPublisher(responseWorkValues, this.publisherList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.identifierList));
+    result.setLanguage(DublinCoreFieldLoader.fillList(responseWorkValues, this.languageList));
+    result.setPublisher(DublinCoreFieldLoader.fillList(responseWorkValues, this.publisherList));
     result.setRelation(
-        DublinCoreFieldLoader.setRelation(responseWorkValues, this.relationList));
-    result.setRights(DublinCoreFieldLoader.setRights(responseWorkValues, this.rightList));
-    result.setSource(DublinCoreFieldLoader.setSources(responseWorkValues, this.sourceList));
-    result.setSubject(DublinCoreFieldLoader.setSubject(responseWorkValues, this.subjectList));
-    result.setTitle(DublinCoreFieldLoader.setTitle(responseWorkValues, this.titleList));
-    result.setType(DublinCoreFieldLoader.setType(responseWorkValues, this.typeList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.relationList));
+    result.setRights(DublinCoreFieldLoader.fillList(responseWorkValues, this.rightList));
+    result.setSource(DublinCoreFieldLoader.fillList(responseWorkValues, this.sourceList));
+    result.setSubject(DublinCoreFieldLoader.fillList(responseWorkValues, this.subjectList));
+    result.setTitle(DublinCoreFieldLoader.fillList(responseWorkValues, this.titleList));
+    result.setType(DublinCoreFieldLoader.fillList(responseWorkValues, this.typeList));
 
     return result;
   }
@@ -473,9 +433,9 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
   /**
    * @param relationsList
    */
-  public void setRelationsForWork(String[] relationsList) {
+  /*public void setRelationsForWork(String[] relationsList) {
     this.relationForWorkList = relationsList;
-  }
+  }*/
 
   /**
    * @param rightsList
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
index 9e62806a567c2371b1617884dd8839261e9ae56e..37578782ecb839ef9e8500a0cb6fc7bdb6872ee4 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
@@ -13,7 +13,6 @@ import org.xml.sax.InputSource;
 import org.apache.commons.logging.LogFactory;
 import org.classicmayan.tools.ClassicMayanMetsMods;
 import org.elasticsearch.action.get.GetRequest;
-import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
 import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.common.Strings;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
index 488b04420be440536085c3d8fe375a4c59cbffe5..02e45b479f11a4bda2eb3d49d942121f55fb9d89 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
@@ -246,7 +246,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
             dublinCoreBuilder = putContentIntoDCFieldLists2(hit,
                 furtherDCElements(hit.getId(), OAI_ESClient.getEsClient()));
             buildRecord(recordList, set,
-                hit.getFields().get(this.identifierField).getValue().toString(), dublinCoreBuilder);
+                hit.getSourceAsMap().get(this.identifierField).toString(), dublinCoreBuilder);
           }
         }
       }
@@ -271,24 +271,24 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
   public DublinCoreBuilder putContentIntoDCFieldLists(SearchHit hit, GetResponse responseWorkValues) {
 
     DublinCoreBuilder result = new DublinCoreBuilder();
-    result.setContributor(DublinCoreFieldLoader.setContributor(responseWorkValues, this.contributorList));
-    result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList));
-    result.setCreator(DublinCoreFieldLoader.setCreator(responseWorkValues, this.creatorList));
-    result.setDate(DublinCoreFieldLoader.setDate(responseWorkValues, this.dateList));
+    result.setContributor(DublinCoreFieldLoader.fillList(responseWorkValues, this.contributorList));
+    result.setCoverage(DublinCoreFieldLoader.fillList(responseWorkValues, this.coverageList));
+    result.setCreator(DublinCoreFieldLoader.fillList(responseWorkValues, this.creatorList));
+    result.setDate(DublinCoreFieldLoader.fillList(responseWorkValues, this.dateList));
     result.setDescription(
-        DublinCoreFieldLoader.setDescription(responseWorkValues, this.descriptionList));
-    result.setFormat(DublinCoreFieldLoader.setFormat(hit, this.formatList));
-    result.setIdentifier(DublinCoreFieldLoader.setIdentifier(hit, this.identifierList));
-    result.setLanguage(DublinCoreFieldLoader.setLanguage(hit, this.languageList));
-    result.setPublisher(DublinCoreFieldLoader.setPublisher(hit, this.publisherList));
-    result.setRelation(DublinCoreFieldLoader.setRelation(hit, this.relationList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.descriptionList));
+    result.setFormat(DublinCoreFieldLoader.fillList(hit, this.formatList));
+    result.setIdentifier(DublinCoreFieldLoader.fillList(hit, this.identifierList));
+    result.setLanguage(DublinCoreFieldLoader.fillList(hit, this.languageList));
+    result.setPublisher(DublinCoreFieldLoader.fillList(hit, this.publisherList));
+    result.setRelation(DublinCoreFieldLoader.fillList(hit, this.relationList));
     result.setRelation(
-        DublinCoreFieldLoader.setRelationForWork(responseWorkValues, this.relationForWorkList));
-    result.setRights(DublinCoreFieldLoader.setRights(hit, this.rightList));
-    result.setSource(DublinCoreFieldLoader.setSources(hit, this.sourceList));
-    result.setSubject(DublinCoreFieldLoader.setSubject(hit, this.subjectList));
-    result.setTitle(DublinCoreFieldLoader.setTitle(hit, this.titleList));
-    result.setType(DublinCoreFieldLoader.setType(responseWorkValues, this.typeList));
+        DublinCoreFieldLoader.fillList(responseWorkValues, this.relationForWorkList));
+    result.setRights(DublinCoreFieldLoader.fillList(hit, this.rightList));
+    result.setSource(DublinCoreFieldLoader.fillList(hit, this.sourceList));
+    result.setSubject(DublinCoreFieldLoader.fillList(hit, this.subjectList));
+    result.setTitle(DublinCoreFieldLoader.fillList(hit, this.titleList));
+    result.setType(DublinCoreFieldLoader.fillList(responseWorkValues, this.typeList));
 
     return result;
   }
@@ -303,21 +303,21 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
 
     DublinCoreBuilder result = new DublinCoreBuilder();
 
-    result.setContributor(DublinCoreFieldLoader.setContributor(hit, this.contributorList));
-    result.setCoverage(DublinCoreFieldLoader.setCoverage(hit, this.coverageList));
-    result.setCreator(DublinCoreFieldLoader.setCreator(hit, this.creatorList));
-    result.setDate(DublinCoreFieldLoader.setDate(hit, this.dateList));
-    result.setDescription(DublinCoreFieldLoader.setDescription(hit, this.descriptionList));
-    result.setFormat(DublinCoreFieldLoader.setFormat(hit, this.formatList));
-    result.setIdentifier(DublinCoreFieldLoader.setIdentifier(hit, this.identifierList));
-    result.setLanguage(DublinCoreFieldLoader.setLanguage(hit, this.languageList));
-    result.setPublisher(DublinCoreFieldLoader.setPublisher(hit, this.publisherList));
-    result.setRelation(DublinCoreFieldLoader.setRelation(hit, this.relationList));
-    result.setRights(DublinCoreFieldLoader.setRights(hit, this.rightList));
-    result.setSource(DublinCoreFieldLoader.setSources(hit, this.sourceList));
-    result.setSubject(DublinCoreFieldLoader.setSources(hit, this.subjectList));
-    result.setTitle(DublinCoreFieldLoader.setTitle(hit, this.titleList));
-    result.setType(DublinCoreFieldLoader.setType(hit, this.typeList));
+    result.setContributor(DublinCoreFieldLoader.fillList(hit, this.contributorList));
+    result.setCoverage(DublinCoreFieldLoader.fillList(hit, this.coverageList));
+    result.setCreator(DublinCoreFieldLoader.fillList(hit, this.creatorList));
+    result.setDate(DublinCoreFieldLoader.fillList(hit, this.dateList));
+    result.setDescription(DublinCoreFieldLoader.fillList(hit, this.descriptionList));
+    result.setFormat(DublinCoreFieldLoader.fillList(hit, this.formatList));
+    result.setIdentifier(DublinCoreFieldLoader.fillList(hit, this.identifierList));
+    result.setLanguage(DublinCoreFieldLoader.fillList(hit, this.languageList));
+    result.setPublisher(DublinCoreFieldLoader.fillList(hit, this.publisherList));
+    result.setRelation(DublinCoreFieldLoader.fillList(hit, this.relationList));
+    result.setRights(DublinCoreFieldLoader.fillList(hit, this.rightList));
+    result.setSource(DublinCoreFieldLoader.fillList(hit, this.sourceList));
+    result.setSubject(DublinCoreFieldLoader.fillList(hit, this.subjectList));
+    result.setTitle(DublinCoreFieldLoader.fillList(hit, this.titleList));
+    result.setType(DublinCoreFieldLoader.fillList(hit, this.typeList));
 
     return result;
   }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/Rest.java b/oaipmh-core/src/main/java/info/textgrid/middleware/Rest.java
index 391f12fa45aaf1f306a98938bdb6db976282f857..79f168cc31bef55680d16bbf2a6ba5ebde865496 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/Rest.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/Rest.java
@@ -14,6 +14,7 @@ import info.textgrid.utils.httpclient.TGHttpConnection;
 /**
  *
  */
+@SuppressWarnings("deprecation")
 public class Rest {
 
 	private Log	log	= LogFactory.getLog(Rest.class);
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
index 7db564dbc6e0434e910a7194287676c28f49dd7b..ae0c903f4599bf5449ec054f1ad44d6be7a0d387 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
@@ -15,8 +15,6 @@ import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchResponse;
 import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.common.Strings;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
 import org.elasticsearch.search.aggregations.AggregationBuilder;
 import org.elasticsearch.search.aggregations.AggregationBuilders;
@@ -25,7 +23,7 @@ import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
 
 import info.textgrid.middleware.oaipmh.ListSetsType;
 import info.textgrid.middleware.oaipmh.SetType;
-import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
+//import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
 
 /**
  *
@@ -60,7 +58,7 @@ public class SetDeliverer {
   public ListSetsType setListBuilder() {
 
     ListSetsType setList = new ListSetsType();
-    QueryBuilder aggQuery;
+    //QueryBuilder aggQuery;
     
     SearchRequest request = new SearchRequest(OAI_ESClient.getEsIndex());
     SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
@@ -70,9 +68,14 @@ public class SetDeliverer {
                 .terms("project.value.untouched")
                 .field("project.value.untouched")            
                 .size(10000);
-    } else {
-      aggQuery = QueryBuilders.matchPhraseQuery("descriptiveMetadata.dc:format",
-          TextGridMimetypes.DARIAH_COLLECTION);
+    } 
+    if (this.dariah){
+    	agg = AggregationBuilders
+    			.terms("descriptiveMetadata.dc:format")
+    			.field("descriptiveMetadata.dc:format")
+    			.size(10000);
+     // aggQuery = QueryBuilders.matchPhraseQuery("descriptiveMetadata.dc:format",
+       //   TextGridMimetypes.DARIAH_COLLECTION);
     }
   
 
@@ -90,10 +93,10 @@ public class SetDeliverer {
 
     for (SearchHit hit : getRecordListItems.getHits().getHits()) {
      
-      if (this.dariah == false && hit.getSourceAsMap().get(this.identifierField)
+      if (this.dariah == true && hit.getSourceAsMap().get(this.identifierField)
           .toString().startsWith("hdl:")) {
     	  
-        String pid = hit.getFields().get(this.identifierField).getValues().get(0).toString();
+        String pid = hit.getSourceAsMap().get(this.identifierField).toString();
         this.identifier.add(pid);
 
       }
@@ -112,7 +115,8 @@ public class SetDeliverer {
   	
       Iterator<?> it = setSet.entrySet().iterator();
       while (it.hasNext()) {
-        Map.Entry pair = (Map.Entry) it.next();
+        @SuppressWarnings("rawtypes")
+		Map.Entry pair = (Map.Entry) it.next();
         SetType set = new SetType();
         set.setSetName(pair.getValue().toString());
         set.setSetSpec("project:" + pair.getKey().toString());
@@ -149,7 +153,7 @@ public class SetDeliverer {
         String setName = "";
         if (setSpec != null && setSpec.isExists()) {
           if (setSpec.getField(this.specField) != null) {
-            setName = setSpec.getField(this.specField).getValue().toString();
+            setName = setSpec.getSourceAsMap().get(this.specField).toString();
           }
         }
 
diff --git a/oaipmh-core/src/main/xsd/oai_pmh.xsd b/oaipmh-core/src/main/xsd/oai_pmh.xsd
index 834bb391c33803dcfaebd72495929fa29d7a543a..a91f74c3565b71815c38c44e77cc7261a5bec8bb 100644
--- a/oaipmh-core/src/main/xsd/oai_pmh.xsd
+++ b/oaipmh-core/src/main/xsd/oai_pmh.xsd
@@ -313,5 +313,4 @@
       <pattern value="([A-Za-z0-9\-_\.!~\*'\(\)])+(:[A-Za-z0-9\-_\.!~\*'\(\)]+)*"/>
     </restriction>
   </simpleType>
-
 </schema>
\ No newline at end of file
diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
index 6f8157d53d1c1e311b52e1c07931cae6fc719bf8..3ade8cffc13ab8e22bc14c66077c9b4681051290 100644
--- a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
+++ b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
@@ -1,7 +1,6 @@
 package info.textgrid.middleware;
 
 import java.text.ParseException;
-import java.util.HashMap;
 import java.util.Map;
 
 import javax.xml.bind.JAXB;
@@ -170,7 +169,7 @@ public class OaiPmhTest {
    * @throws ParseException
    */
   @Test
-  @Ignore
+  //@Ignore
   public void testGetRequestGetRecordTextGrid() throws ParseException {
 
     record.setContributor(TGConstants.CONTRIBUTOR_LIST);
@@ -183,7 +182,7 @@ public class OaiPmhTest {
     record.setLanguages(TGConstants.LANGUAGE_LIST);
     record.setPublishers(TGConstants.PUBLISHER_LIST);
     record.setRelations(TGConstants.RELATIONS_LIST);
-    record.setRelationsForWork(TGConstants.RELATIONS_FOR_WORK_LIST);
+    //record.setRelationsForWork(TGConstants.RELATIONS_FOR_WORK_LIST);
     record.setRights(TGConstants.RIGHTS_LIST);
     record.setSources(TGConstants.SOURCE_LIST);
     record.setSubjects(TGConstants.SUBJECT_LIST);
@@ -447,7 +446,7 @@ public class OaiPmhTest {
     OaiPmhTest.recordList.setSearchResponseSize("100");
 
     JAXBElement<OAIPMHType> r =
-        this.request.getRequest("ListRecords", "", "oai_dc", "project:TGPR-ed7c757e-1ead-69d4-7c17-554a3581925c", "", "", "");
+        this.request.getRequest("ListRecords", "", "oai_dc", "", "", "", "");
     JAXB.marshal(r, System.out);
     System.out.println("-----------------------------------\n");
   }