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 932b478826529d9eaab5143a30496bd996285b85..a9849f7935f6b29682ecfd278ea4ebabdcec719b 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
@@ -4,9 +4,9 @@ import java.util.List;
 import javax.xml.bind.JAXB;
 import javax.xml.bind.JAXBElement;
 import info.textgrid.middleware.oaidc.ElementType;
-import info.textgrid.middleware.oaipmh.MetadataType;
 import info.textgrid.middleware.oaidc.OaiDcType;
 import info.textgrid.middleware.oaidc.ObjectFactory;
+import info.textgrid.middleware.oaipmh.MetadataType;
 
 /**
  * <p>
@@ -15,19 +15,21 @@ import info.textgrid.middleware.oaidc.ObjectFactory;
  * specific DC-field.
  * </p>
  * 
- * @author Maximilian Brodhun SUB
- * @version 1.1
- * @since 18.02.2014
+ * @author Maximilian Brodhun, SUB Göttingen
+ * @author Stefan E. Funk, SUB Göttingen
+ * @version 2019-10-17
+ * @since 2014-02.18
  */
 
 public final class DublinCoreBuilder {
 
+  // Object factory for all the DC elements.
+  private static ObjectFactory oaiDcObj = new ObjectFactory();
+
   // MetadataType of OAI schema.
   private MetadataType metadata = new MetadataType();
   // OAI_DC type of oai_dc schema.
   private OaiDcType tgMappedDC = new OaiDcType();
-  // Object factory for all the DC elements.
-  private ObjectFactory oaiDcObj = new ObjectFactory();
 
   /**
    * <p>
@@ -56,8 +58,7 @@ public final class DublinCoreBuilder {
   public void setContributor(List<String> contributors) {
     for (String dccontributor : contributors) {
       ElementType contributorElement = new ElementType();
-      JAXBElement<ElementType> dcCoreContributor =
-          this.oaiDcObj.createContributor(contributorElement);
+      JAXBElement<ElementType> dcCoreContributor = oaiDcObj.createContributor(contributorElement);
       contributorElement.setValue(dccontributor);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreContributor);
     }
@@ -75,7 +76,7 @@ public final class DublinCoreBuilder {
     for (String dccreator : creators) {
       ElementType creatorElement = new ElementType();
       creatorElement.setValue(dccreator);
-      JAXBElement<ElementType> dcCoreCreator = this.oaiDcObj.createCreator(creatorElement);
+      JAXBElement<ElementType> dcCoreCreator = oaiDcObj.createCreator(creatorElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreCreator);
     }
   }
@@ -92,7 +93,7 @@ public final class DublinCoreBuilder {
     for (String dccoverage : coverages) {
       ElementType coverageElement = new ElementType();
       coverageElement.setValue(dccoverage);
-      JAXBElement<ElementType> dcCoreCoverage = this.oaiDcObj.createCoverage(coverageElement);
+      JAXBElement<ElementType> dcCoreCoverage = oaiDcObj.createCoverage(coverageElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreCoverage);
     }
   }
@@ -108,7 +109,7 @@ public final class DublinCoreBuilder {
   public void setDate(List<String> dates) {
     for (String dcdate : dates) {
       ElementType dateElement = new ElementType();
-      JAXBElement<ElementType> dcCoreDate = this.oaiDcObj.createDate(dateElement);
+      JAXBElement<ElementType> dcCoreDate = oaiDcObj.createDate(dateElement);
       dateElement.setValue(dcdate);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreDate);
     }
@@ -126,8 +127,7 @@ public final class DublinCoreBuilder {
     for (String dcdescription : descriptions) {
       ElementType descriptionElement = new ElementType();
       descriptionElement.setValue(dcdescription);
-      JAXBElement<ElementType> dcCoreDescription =
-          this.oaiDcObj.createDescription(descriptionElement);
+      JAXBElement<ElementType> dcCoreDescription = oaiDcObj.createDescription(descriptionElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreDescription);
     }
   }
@@ -144,7 +144,7 @@ public final class DublinCoreBuilder {
     for (String dcformat : formats) {
       ElementType formatElement = new ElementType();
       formatElement.setValue(dcformat);
-      JAXBElement<ElementType> dcCoreFormat = this.oaiDcObj.createFormat(formatElement);
+      JAXBElement<ElementType> dcCoreFormat = oaiDcObj.createFormat(formatElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreFormat);
     }
   }
@@ -161,7 +161,7 @@ public final class DublinCoreBuilder {
     for (String dcidentifier : identifiers) {
       ElementType identifierElement = new ElementType();
       identifierElement.setValue(dcidentifier);
-      JAXBElement<ElementType> dcCoreIdentifier = this.oaiDcObj.createIdentifier(identifierElement);
+      JAXBElement<ElementType> dcCoreIdentifier = oaiDcObj.createIdentifier(identifierElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreIdentifier);
     }
   }
@@ -178,7 +178,7 @@ public final class DublinCoreBuilder {
     for (String dclanguage : languages) {
       ElementType languageElement = new ElementType();
       languageElement.setValue(dclanguage);
-      JAXBElement<ElementType> dcCoreLanguage = this.oaiDcObj.createLanguage(languageElement);
+      JAXBElement<ElementType> dcCoreLanguage = oaiDcObj.createLanguage(languageElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreLanguage);
     }
   }
@@ -195,7 +195,7 @@ public final class DublinCoreBuilder {
     for (String dcpublisher : publishers) {
       ElementType publisherElement = new ElementType();
       publisherElement.setValue(dcpublisher);
-      JAXBElement<ElementType> dcCorePublisher = this.oaiDcObj.createPublisher(publisherElement);
+      JAXBElement<ElementType> dcCorePublisher = oaiDcObj.createPublisher(publisherElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCorePublisher);
     }
   }
@@ -212,7 +212,7 @@ public final class DublinCoreBuilder {
     for (String dcrelation : relations) {
       ElementType relationElement = new ElementType();
       relationElement.setValue(dcrelation);
-      JAXBElement<ElementType> dcCoreRelation = this.oaiDcObj.createRelation(relationElement);
+      JAXBElement<ElementType> dcCoreRelation = oaiDcObj.createRelation(relationElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreRelation);
     }
   }
@@ -229,7 +229,7 @@ public final class DublinCoreBuilder {
     for (String dcrights : rights) {
       ElementType rightsElement = new ElementType();
       rightsElement.setValue(dcrights);
-      JAXBElement<ElementType> dcCoreRights = this.oaiDcObj.createRights(rightsElement);
+      JAXBElement<ElementType> dcCoreRights = oaiDcObj.createRights(rightsElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreRights);
     }
   }
@@ -246,7 +246,7 @@ public final class DublinCoreBuilder {
     for (String dcsource : sources) {
       ElementType sourcesElement = new ElementType();
       sourcesElement.setValue(dcsource);
-      JAXBElement<ElementType> dcCoreSource = this.oaiDcObj.createSource(sourcesElement);
+      JAXBElement<ElementType> dcCoreSource = oaiDcObj.createSource(sourcesElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreSource);
     }
   }
@@ -263,7 +263,7 @@ public final class DublinCoreBuilder {
     for (String dcsubject : subjects) {
       ElementType subjectElement = new ElementType();
       subjectElement.setValue(dcsubject);
-      JAXBElement<ElementType> dcCoreSubject = this.oaiDcObj.createSubject(subjectElement);
+      JAXBElement<ElementType> dcCoreSubject = oaiDcObj.createSubject(subjectElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreSubject);
     }
   }
@@ -280,7 +280,7 @@ public final class DublinCoreBuilder {
     for (String dctitle : titles) {
       ElementType titlesElement = new ElementType();
       titlesElement.setValue(dctitle);
-      JAXBElement<ElementType> dcCoreTitle = this.oaiDcObj.createTitle(titlesElement);
+      JAXBElement<ElementType> dcCoreTitle = oaiDcObj.createTitle(titlesElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreTitle);
     }
   }
@@ -297,7 +297,7 @@ public final class DublinCoreBuilder {
     for (String dctype : types) {
       ElementType typeElement = new ElementType();
       typeElement.setValue(dctype);
-      JAXBElement<ElementType> dcCoreType = this.oaiDcObj.createType(typeElement);
+      JAXBElement<ElementType> dcCoreType = oaiDcObj.createType(typeElement);
       this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreType);
     }
   }
@@ -311,7 +311,12 @@ public final class DublinCoreBuilder {
    * @return metadata element with the dublinCore values for a specific object
    */
   public MetadataType getDC() {
-    this.metadata.setAny(this.oaiDcObj.createDc(this.tgMappedDC));
+
+    System.out.println("##  ARGL  ##");
+    JAXB.marshal(this.tgMappedDC, System.out);
+
+    this.metadata.setAny(oaiDcObj.createDc(this.tgMappedDC));
+
     return this.metadata;
   }
 
@@ -329,8 +334,8 @@ public final class DublinCoreBuilder {
    * @deprecated
    */
   @Deprecated
-  public ObjectFactory getOaiDcObj() {
-    return this.oaiDcObj;
+  public static ObjectFactory getOaiDcObj() {
+    return oaiDcObj;
   }
 
 }
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 e88f54a8a750a18cb9c8298f09ccb5a24cc4be3d..dfc6d91aad5ea0a6eae059ac2f00513a22f05898 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
@@ -31,7 +31,7 @@ public class MetadataFormatListDeliverer {
       setIdExist(true);
       mft.setMetadataNamespace("http://www.openarchives.org/OAI/2.0/oai_dc/");
       mft.setMetadataPrefix(TGConstants.METADATA_DC_PREFIX);
-      mft.setSchema("http://www.openarchives.org/OAI/2.0/oai_dc.xsd");
+      mft.setSchema("https://www.openarchives.org/OAI/2.0/oai_dc.xsd");
       lmft.getMetadataFormat().add(mft);
     } else {
       setIdExist(false);
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 ef3a4ccbff61cc98d91067b9e5329afcaa247c9c..ab41d7d131a95a484dfc5ab84f90f5060e6fc6ef 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -436,6 +436,8 @@ public class OAIPMHImpl implements OAIPMHProducer {
       }
     }
 
+    // JAXB.marshal(oaipmhRoot, System.out);
+
     return oaipmhRoot;
   }
 
@@ -591,7 +593,7 @@ public class OAIPMHImpl implements OAIPMHProducer {
 
     // Create new OAIPMH XML document from template, set result.
     // OAIPMHtype response = JAXB.unmarshal(new File(OAIPMH_XML_TEMPLATE), OAIPMHtype.class);
-    OAIPMHtype response = obf.createOAIPMHtype();
+    OAIPMHtype response = new OAIPMHtype();
 
     VerbType verbParam = setVerb(verb);
     RequestType request = new RequestType();
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 5a89c741b4788da53d8cdf6a7b98c1ba42164619..2e81caf1b3dcadc435a5c8ea20ada593351a4d54 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
@@ -78,7 +78,7 @@ public class SetDeliverer {
         String projectName = hit.getFields().get("project.value").values().get(0).toString();
         String projectID = hit.getFields().get("project.id").values().get(0).toString();
         String projectSetSpec = projectName.concat(":").concat(projectID);
-        this.setSet.put(projectID, projectName);
+        SetDeliverer.setSet.put(projectID, projectName);
       }
     }
 
@@ -237,5 +237,4 @@ public class SetDeliverer {
     this.dariah = dariah;
   }
 
-
 }