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 51ae51dafcd89176b7a5cb193283188ae2cbd63b..f1c719714ec82614f734ea84d3e85e2dfc3884ab 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java
@@ -154,73 +154,121 @@ public class DublinCoreFieldLoader {
     return list;
   }
 
-  /**
-   * @param hit
-   * @param fields
-   * @return
-   */
-  public static List<String> fillList(SearchHit hit, String[] fields) {
-    return fillList(hit, fields, "");
-  }
+  // /**
+  // * @param hit
+  // * @param fields
+  // * @return
+  // */
+  // public static List<String> fillList(SearchHit hit, String[] fields) {
+  // return fillList(hit, fields, "");
+  // }
+
+  // /**
+  // * @param hit
+  // * @param fields
+  // * @param prefix
+  // * @return
+  // */
+  // public static List<String> fillList(SearchHit hit, String[] fields, String prefix) {
+  //
+  // List<String> list = new ArrayList<String>();
+  //
+  // System.out.println("i. fields: " + fields);
+  //
+  // if (fields != null) {
+  // for (String field : fields) {
+  //
+  // System.out.println("ii. field: " + field);
+  //
+  // if (hit.getSourceAsMap().get(field) == null) {
+  // String[] requestedField = field.split(OAIPMHUtilities.ES_DIVIDER_REGEXP);
+  // Map<String, Object> nestedMap = hit.getSourceAsMap();
+  // String valueOfRequestedField = null;
+  // Map<String, Object> nestedMap2 = null;
+  // // TODO Loop exactly what? --> Document!
+  // for (int i = 0; i < requestedField.length; i++) {
+  //
+  // System.out.println("iii. field[" + i + "]: " + requestedField[i]);
+  //
+  // if (i < requestedField.length - 1 && nestedMap != null
+  // && nestedMap.get(requestedField[i]) != null) {
+  // try {
+  // nestedMap2 = (Map<String, Object>) nestedMap.get(requestedField[i]);
+  // } catch (ClassCastException e) {
+  // e.printStackTrace();
+  // }
+  // }
+  // if (i == requestedField.length - 1 && nestedMap2 != null
+  // && nestedMap2.get(requestedField[i]) != null) {
+  // valueOfRequestedField = nestedMap2.get(requestedField[i]).toString();
+  //
+  // System.out
+  // .println("valueOfRequestedField.length(): " + valueOfRequestedField.length());
+  //
+  // if (valueOfRequestedField.length() > 0) {
+  // // Only add list entry if prefix is empty or beginning with prefix otherwise!
+  //
+  // System.out.println("valueOfRequestedField: " + valueOfRequestedField);
+  //
+  // if (prefix.isEmpty() || valueOfRequestedField.startsWith(prefix)) {
+  // list.add(valueOfRequestedField);
+  // }
+  // }
+  // }
+  // nestedMap = nestedMap2;
+  // }
+  // } else {
+  // // Only add list entry if prefix is empty or beginning with prefix otherwise!
+  // String value = hit.getSourceAsMap().get(field).toString();
+  //
+  // System.out.println("value: " + value);
+  //
+  // if (prefix.isEmpty() || value.startsWith(prefix)) {
+  // list.add(value);
+  // }
+  // }
+  // }
+  // }
+  //
+  // return list;
+  // }
 
   /**
    * @param hit
    * @param fields
-   * @param prefix
    * @return
    */
-  public static List<String> fillList(SearchHit hit, String[] fields, String prefix) {
+  public static List<String> fillList(SearchHit hit, String[] fields) {
 
     List<String> list = new ArrayList<String>();
 
     if (fields != null) {
       for (String field : fields) {
         if (hit.getSourceAsMap().get(field) == null) {
-          String[] requestedField = field.split(OAIPMHUtilities.ES_DIVIDER_REGEXP);
+          String[] requestedField = field.split("\\.");
           Map<String, Object> nestedMap = hit.getSourceAsMap();
           String valueOfRequestedField = null;
           Map<String, Object> nestedMap2 = null;
-          // TODO Loop exactly what? --> Document!
           for (int i = 0; i < requestedField.length; i++) {
-
-            System.out.println("field[" + i + "]: " + requestedField[i]);
-
             if (i < requestedField.length - 1 && nestedMap != null
                 && nestedMap.get(requestedField[i]) != null) {
               try {
                 nestedMap2 = (Map<String, Object>) nestedMap.get(requestedField[i]);
-              } catch (ClassCastException e) {
-                e.printStackTrace();
+              } catch (ClassCastException cce) {
+
               }
             }
-            if (i == requestedField.length - 1 && nestedMap2 != null
-                && nestedMap2.get(requestedField[i]) != null) {
+            if (i == requestedField.length - 1 &&
+                nestedMap2 != null && nestedMap2.get(requestedField[i]) != null) {
               valueOfRequestedField = nestedMap2.get(requestedField[i]).toString();
-
-              System.out
-                  .println("valueOfRequestedField.length(): " + valueOfRequestedField.length());
-
               if (valueOfRequestedField.length() > 0) {
-                // Only add list entry if prefix is empty or beginning with prefix otherwise!
-
-                System.out.println("valueOfRequestedField: " + valueOfRequestedField);
-
-                if (prefix.isEmpty() || valueOfRequestedField.startsWith(prefix)) {
-                  list.add(valueOfRequestedField);
-                }
+                list.add(valueOfRequestedField);
               }
             }
             nestedMap = nestedMap2;
           }
         } else {
-          // Only add list entry if prefix is empty or beginning with prefix otherwise!
-          String value = hit.getSourceAsMap().get(field).toString();
-
-          System.out.println("value: " + value);
-
-          if (prefix.isEmpty() || value.startsWith(prefix)) {
-            list.add(value);
-          }
+          list.add(hit.getSourceAsMap().get(field).toString());
         }
       }
     }
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 45931d16b81a66db32323c45db7c7933fdfd093f..99a8b99dbef439cf8c95c9a0459952fb6215fe24 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
@@ -265,12 +265,17 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
           // DARIAH search!
           else if (this.dariah == true) {
 
-            List<String> identifierList =
-                DublinCoreFieldLoader.fillList(hit, DARIAHConstants.IDENTIFIER_LIST, "hdl:");
+            // Get identifier field.
+            String identifier = OAIPMHUtilities.fieldLoader(json, this.identifierField);
 
-            System.out.println("identifierList: " + identifierList);
+            // List<String> identifierList =
+            // DublinCoreFieldLoader.fillList(hit, DARIAHConstants.IDENTIFIER_LIST, "hdl:");
 
-            String setSpec = identifierList.get(0);
+            // System.out.println("identifierList: " + identifierList);
+
+            // String setSpec = identifierList.get(0);
+
+            String setSpec = identifier;
 
             System.out.println("setSpec: " + setSpec);
 
@@ -285,8 +290,20 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
               e.printStackTrace();
             }
 
-            buildRecord(recordList, set, hit.getSourceAsMap().get(this.identifierField).toString(),
-                dublinCoreBuilder, setSpec);
+            System.out.println("v. recordList: " + (recordList == null ? "NULL" : recordList));
+            System.out.println("v. set: " + (set == null ? "NULL" : set));
+            System.out.println("v. dublinCoreBuilder: "
+                + (dublinCoreBuilder == null ? "NULL" : dublinCoreBuilder));
+            System.out.println("v. setSpec: " + (setSpec == null ? "NULL" : setSpec));
+            // System.out.println("v. hit.krams: "
+            // + (hit.getSourceAsMap().get(this.identifierField).toString() == null ? "NULL"
+            // : hit.getSourceAsMap().get(this.identifierField).toString()));
+
+            // buildRecord(recordList, set,
+            // hit.getSourceAsMap().get(this.identifierField).toString(),
+            // dublinCoreBuilder, setSpec);
+
+            buildRecord(recordList, set, identifier, dublinCoreBuilder, setSpec);
           }
         }
       }
@@ -439,12 +456,13 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
     try {
 
       System.out.println("  ##  getRecords()  -->  "
-          + (query != null ? "queryName=" + query.getName() : "query=NULL") + " - "
-          + (recordList != null ? recordList : "recordList=NULL") + " - "
-          + (resumptionToken != null ? resumptionToken : "resumptionToken=NULL") + " - "
+          + (query != null ? "queryName=" + query.getName() : "query=NULL") + " | "
+          + (recordList != null ? recordList : "recordList=NULL") + " | "
+          + (resumptionToken != null ? resumptionToken : "resumptionToken=NULL") + " | "
           + (set != null ? set : "set=NULL"));
 
       fetchFields(query, recordList, resumptionToken, set);
+
     } catch (UnsupportedEncodingException e) {
       e.printStackTrace();
     }