diff --git a/oaipmh-core/pom.xml b/oaipmh-core/pom.xml
index 1d9d48d10a78ae17d86ad2eefe5c6708775835cb..602ccc138d8d470a9a5a4badd9d5d54bb5426252 100644
--- a/oaipmh-core/pom.xml
+++ b/oaipmh-core/pom.xml
@@ -153,80 +153,23 @@
 					</execution>
 				</executions>
 			</plugin>
-			<!-- <plugin> -->
-			<!-- We use this plugin to ensure that our usage of the maven-jaxb2-plugin 
-				is JDK 8 compatible in absence of a fix for https://java.net/jira/browse/MAVEN_JAXB2_PLUGIN-80. -->
-			<!-- <groupId>org.codehaus.mojo</groupId> -->
-			<!-- <artifactId>properties-maven-plugin</artifactId> -->
-			<!-- <version>${properties-maven-plugin.version}</version> -->
-			<!-- <executions> -->
-			<!-- <execution> -->
-			<!-- <id>set-additional-system-properties</id> -->
-			<!-- <goals> -->
-			<!-- <goal>set-system-properties</goal> -->
-			<!-- </goals> -->
-			<!-- </execution> -->
-			<!-- </executions> -->
-			<!-- <configuration> -->
-			<!-- <properties> -->
-			<!-- <property> -->
-			<!-- <name>javax.xml.accessExternalSchema</name> -->
-			<!-- <value>file,http</value> -->
-			<!-- </property> -->
-			<!-- </properties> -->
-			<!-- </configuration> -->
-			<!-- </plugin> -->
 			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>jaxb2-maven-plugin</artifactId>
-				<version>${jaxb2-maven-plugin.version}</version>
+				<groupId>org.jvnet.jaxb2.maven2</groupId>
+				<artifactId>maven-jaxb2-plugin</artifactId>
+				<version>0.14.0</version>
 				<executions>
 					<execution>
-						<id>oaipmhDCSchema-xjc</id>
 						<goals>
-							<goal>xjc</goal>
+							<goal>generate</goal>
 						</goals>
-						<configuration>
-							<schemaFile>oai_dc.xsd</schemaFile>
-							<packageName>info.textgrid.middleware.oaidc</packageName>
-							<schemaDirectory>src/main/xsd</schemaDirectory>
-							<schemaIncludes>
-								<include>oai_dc.xsd</include>
-							</schemaIncludes>
-							<generateDirectory>${project.build.directory}/generated-sources/xjc1</generateDirectory>
-							<staleFile>${project.build.directory}/jaxb2/.oaiDCSchemaXjcStaleFlag</staleFile>
-							<clearOutputDir>false</clearOutputDir>
-							<transformSchemas>
-								<transformSchema>
-									<uri>http://purl.org/dc/elements/1.1/</uri>
-									<toPrefix>dc</toPrefix>
-								</transformSchema>
-								<transformSchema>
-									<uri>http://www.openarchives.org/OAI/2.0/oai_dc/</uri>
-									<toPrefix>oai_dc</toPrefix>
-								</transformSchema>
-							</transformSchemas>
-						</configuration>
-					</execution>
-					<execution>
-						<id>oaipmhSchema-xjc</id>
-						<goals>
-							<goal>xjc</goal>
-						</goals>
-						<configuration>
-							<!-- <schemaFile>oai_pmh.xsd</schemaFile> -->
-							<schemaFile>http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd</schemaFile>
-							<packageName>info.textgrid.middleware.oaipmh</packageName>
-							<!-- <schemaDirectory>src/main/xsd</schemaDirectory> -->
-							<!-- <schemaIncludes> -->
-							<!-- <include>oai_pmh.xsd</include> -->
-							<!-- </schemaIncludes> -->
-							<generateDirectory>${project.build.directory}/generated-sources/xjc2</generateDirectory>
-							<staleFile>${project.build.directory}/jaxb2/.oaipmhSchemaXjcStaleFlag</staleFile>
-							<clearOutputDir>false</clearOutputDir>
-						</configuration>
 					</execution>
 				</executions>
+				<configuration>
+					<schemaDirectory>src/main/xsd</schemaDirectory>
+					<schemaIncludes>
+						<include>*.xsd</include>
+					</schemaIncludes>
+				</configuration>
 			</plugin>
 		</plugins>
 	</build>
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..9e1bf540ed64f45007879cda3e16ca74a3a14d8c 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java
@@ -1,11 +1,11 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.ElementType;
-import info.textgrid.middleware.oaipmh.MetadataType;
-import info.textgrid.middleware.oaipmh.OaiDcType;
-import info.textgrid.middleware.oaipmh.ObjectFactory;
 import java.util.List;
 import javax.xml.bind.JAXBElement;
+import org.openarchives.oai._2.MetadataType;
+import org.openarchives.oai._2_0.oai_dc.OaiDcType;
+import org.openarchives.oai._2_0.oai_dc.ObjectFactory;
+import org.purl.dc.elements._1.ElementType;
 
 /**
  * <p>
@@ -25,7 +25,7 @@ public final class DublinCoreBuilder {
   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
@@ -40,11 +40,10 @@ public final class DublinCoreBuilder {
   }
 
   /**
-   * Each of the following functions for generating the DC-XML file 
-   * produces an ElementType for the DC-field and puts each 
-   * element of the list into the corresponding XML-tag
+   * Each of the following functions for generating the DC-XML file produces an ElementType for the
+   * DC-field and puts each element of the list into the corresponding XML-tag
    */
-  
+
   /**
    * <p>
    * Takes a string list containing the contributors and build the specific dublinCore element for
@@ -300,7 +299,7 @@ public final class DublinCoreBuilder {
 
     for (String dctype : types) {
       ElementType typeElement = new ElementType();
-      JAXBElement<ElementType> dcCoreType = getOaiDcObj().createType(typeElement);
+      JAXBElement<ElementType> dcCoreType = this.oaiDcObj.createType(typeElement);
       typeElement.setValue(dctype);
       getTgMappedDC().getTitleOrCreatorOrSubject().add(dcCoreType);
     }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java b/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java
index f3b28cd589085484db093994850cc8b6a857cfa1..caa007c49f44828070385b319ea0c273fc07ab34 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/ErrorHandler.java
@@ -1,7 +1,7 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.OAIPMHerrorType;
-import info.textgrid.middleware.oaipmh.OAIPMHerrorcodeType;
+import org.openarchives.oai._2.OAIPMHerrorType;
+import org.openarchives.oai._2.OAIPMHerrorcodeType;
 
 /**
  * Handling the errors for a incorrect request
@@ -26,33 +26,33 @@ public class ErrorHandler {
   public void setError(String errorDescription, String errorValue) {
 
     if (errorDescription.equals("BadArgument")) {
-      errorCode = OAIPMHerrorcodeType.BAD_ARGUMENT;
+      this.errorCode = OAIPMHerrorcodeType.BAD_ARGUMENT;
     } else if (errorDescription.equals("ResumptionTokenError")) {
-      errorCode = OAIPMHerrorcodeType.BAD_RESUMPTION_TOKEN;
+      this.errorCode = OAIPMHerrorcodeType.BAD_RESUMPTION_TOKEN;
     } else if (errorDescription.equals("VerbError")) {
-      errorCode = OAIPMHerrorcodeType.BAD_VERB;
-      error.setValue("Illegal OAI-PMH verb");
+      this.errorCode = OAIPMHerrorcodeType.BAD_VERB;
+      this.error.setValue("Illegal OAI-PMH verb");
     } else if (errorDescription.equals("FormatError")) {
-      errorCode = OAIPMHerrorcodeType.CANNOT_DISSEMINATE_FORMAT;
+      this.errorCode = OAIPMHerrorcodeType.CANNOT_DISSEMINATE_FORMAT;
     } else if (errorDescription.equals("IDError")) {
-      errorCode = OAIPMHerrorcodeType.ID_DOES_NOT_EXIST;
+      this.errorCode = OAIPMHerrorcodeType.ID_DOES_NOT_EXIST;
     } else if (errorDescription.equals("MetadataFormatError")) {
-      error.setValue("There are no metadata formats available for the specified item.");
+      this.error.setValue("There are no metadata formats available for the specified item.");
     } else if (errorDescription.equals("RecordMatchError")) {
-      errorCode = OAIPMHerrorcodeType.NO_RECORDS_MATCH;
+      this.errorCode = OAIPMHerrorcodeType.NO_RECORDS_MATCH;
     } else if (errorDescription.equals("SetHierarchyError")) {
-      errorCode = OAIPMHerrorcodeType.NO_SET_HIERARCHY;
+      this.errorCode = OAIPMHerrorcodeType.NO_SET_HIERARCHY;
     }
 
-    error.setCode(errorCode);
-    error.setValue(errorValue);
+    this.error.setCode(this.errorCode);
+    this.error.setValue(errorValue);
   }
 
   /**
    * @return
    */
   public OAIPMHerrorType getError() {
-    return error;
+    return this.error;
   }
 
 }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
index b94d7206b13f27d818585ef1abd7b61ebecca228..32cc99f8d2687d41599e1ac8ab947d8c65c97d94 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
@@ -2,8 +2,8 @@ package info.textgrid.middleware;
 
 import java.util.ArrayList;
 import java.util.List;
-import info.textgrid.middleware.oaipmh.ListIdentifiersType;
-import info.textgrid.middleware.oaipmh.RequestType;
+import org.openarchives.oai._2.ListIdentifiersType;
+import org.openarchives.oai._2.RequestType;
 
 /**
  *
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 86523c2c6b3c579e529c65a22906ac99545a0bb3..f109765573ae4ae093b2721f7fd7b4ae7ecc9d90 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java
@@ -1,8 +1,8 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.HeaderType;
-import info.textgrid.middleware.oaipmh.ListIdentifiersType;
-import info.textgrid.middleware.oaipmh.ResumptionTokenType;
+import org.openarchives.oai._2.HeaderType;
+import org.openarchives.oai._2.ListIdentifiersType;
+import org.openarchives.oai._2.ResumptionTokenType;
 import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
 import java.text.ParseException;
 import java.util.Hashtable;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIDIOM.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIDIOM.java
index d9b56b130a4c3a87da9d1aff692770071bfca300..d1e8aa423c516b564eee046cf8f0db2bf42a9a0f 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIDIOM.java
@@ -6,8 +6,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import org.classicmayan.tools.Queries;
-import info.textgrid.middleware.oaipmh.ListIdentifiersType;
-import info.textgrid.middleware.oaipmh.ResumptionTokenType;
+import org.openarchives.oai._2.ListIdentifiersType;
+import org.openarchives.oai._2.ResumptionTokenType;
 
 /**
  *
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java
index 2e9b56f3cc793b0b6c6b322c1bff0733c0fe8fd3..fd88f870fa9ed07ec70b98f31d8bde9b30abc2b0 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererInterface.java
@@ -1,7 +1,7 @@
 package info.textgrid.middleware;
 
 import java.text.ParseException;
-import info.textgrid.middleware.oaipmh.ListIdentifiersType;
+import org.openarchives.oai._2.ListIdentifiersType;
 
 /**
  *
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 1b3e71afaff6543e612df80b02413d7b62e08b89..e2aa6b59c092d44ad49dd7476aaf420f40f1b045 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/MetadataFormatListDeliverer.java
@@ -2,89 +2,88 @@ package info.textgrid.middleware;
 
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
-
-import info.textgrid.middleware.oaipmh.ListMetadataFormatsType;
-import info.textgrid.middleware.oaipmh.MetadataFormatType;
-import info.textgrid.middleware.oaipmh.RequestType;
+import org.openarchives.oai._2.ListMetadataFormatsType;
+import org.openarchives.oai._2.MetadataFormatType;
+import org.openarchives.oai._2.RequestType;
 
 public class MetadataFormatListDeliverer {
-	
-	private boolean idExist = true;
-	
-	public MetadataFormatListDeliverer(){
-
-	}
-		
-	public ListMetadataFormatsType setMetadataFormatList(String id){
-			
-		ListMetadataFormatsType lmft = new ListMetadataFormatsType();
-		MetadataFormatType mft = new MetadataFormatType();
-		
-		GetRequestBuilder recordById = OAI_ESClient.getOaiESClient().prepareGet()
-			.setIndex(OAI_ESClient.getEsIndex())
-			.setType(OAI_ESClient.getEsType())
-			.setFields(TGConstants.URI)
-			.setId(id); 
-		
-		GetResponse tgObject = recordById.execute().actionGet();
-		
-		if(tgObject.isExists()){
-			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");
-			lmft.getMetadataFormat().add(mft);
-		}else{
-			setIdExist(false);
-			lmft=null;
-		}
-				
-		return lmft;
-	}
-	
-	public ListMetadataFormatsType setMetadataFormatListWithoutId(){
-		
-		ListMetadataFormatsType lmft = new ListMetadataFormatsType();
-		MetadataFormatType mft = new MetadataFormatType();
-		MetadataFormatType mftIdiomMets = new MetadataFormatType();
-		
-		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");
-		lmft.getMetadataFormat().add(mft);
-		
-		mftIdiomMets.setMetadataNamespace("http://www.loc.gov/METS/");
-		mftIdiomMets.setMetadataPrefix(TGConstants.METADATA_IDIOM_PREFIX);
-		mftIdiomMets.setSchema("http://www.loc.gov/standards/mets/mets.xsd");
-		lmft.getMetadataFormat().add(mftIdiomMets);
-		return lmft;
-		
-	}
-	
-	public boolean requestChecker(RequestType request){
-		boolean requestCheck = true;
-		
-		if(request.getFrom()!=null ||
-		   request.getMetadataPrefix()!=null ||
-		   request.getResumptionToken()!=null){
-			
-			requestCheck = false;
-			
-		}else if(request.getSet()!=null ||
-				 request.getUntil()!=null){
-			requestCheck = false;
-		}
-		
-		return requestCheck;
-		
-	}
-	
-	public boolean isIdExist() {
-		return idExist;
-	}
-
-	public void setIdExist(boolean idExist) {
-		this.idExist = idExist;
-	}
-	
+
+  private boolean idExist = true;
+
+  public MetadataFormatListDeliverer() {
+
+  }
+
+  public ListMetadataFormatsType setMetadataFormatList(String id) {
+
+    ListMetadataFormatsType lmft = new ListMetadataFormatsType();
+    MetadataFormatType mft = new MetadataFormatType();
+
+    GetRequestBuilder recordById = OAI_ESClient.getOaiESClient().prepareGet()
+        .setIndex(OAI_ESClient.getEsIndex())
+        .setType(OAI_ESClient.getEsType())
+        .setFields(TGConstants.URI)
+        .setId(id);
+
+    GetResponse tgObject = recordById.execute().actionGet();
+
+    if (tgObject.isExists()) {
+      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");
+      lmft.getMetadataFormat().add(mft);
+    } else {
+      setIdExist(false);
+      lmft = null;
+    }
+
+    return lmft;
+  }
+
+  public ListMetadataFormatsType setMetadataFormatListWithoutId() {
+
+    ListMetadataFormatsType lmft = new ListMetadataFormatsType();
+    MetadataFormatType mft = new MetadataFormatType();
+    MetadataFormatType mftIdiomMets = new MetadataFormatType();
+
+    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");
+    lmft.getMetadataFormat().add(mft);
+
+    mftIdiomMets.setMetadataNamespace("http://www.loc.gov/METS/");
+    mftIdiomMets.setMetadataPrefix(TGConstants.METADATA_IDIOM_PREFIX);
+    mftIdiomMets.setSchema("http://www.loc.gov/standards/mets/mets.xsd");
+    lmft.getMetadataFormat().add(mftIdiomMets);
+    return lmft;
+
+  }
+
+  public boolean requestChecker(RequestType request) {
+    boolean requestCheck = true;
+
+    if (request.getFrom() != null ||
+        request.getMetadataPrefix() != null ||
+        request.getResumptionToken() != null) {
+
+      requestCheck = false;
+
+    } else if (request.getSet() != null ||
+        request.getUntil() != null) {
+      requestCheck = false;
+    }
+
+    return requestCheck;
+
+  }
+
+  public boolean isIdExist() {
+    return this.idExist;
+  }
+
+  public void setIdExist(boolean idExist) {
+    this.idExist = idExist;
+  }
+
 }
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 dcc1873826332fa5993f63f2331aa96ab1877f4c..843eb26c2b21027a49fef70a8f95a087e62c5c2e 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -7,16 +7,16 @@ import javax.xml.bind.JAXBElement;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.XMLGregorianCalendar;
 import org.apache.commons.logging.LogFactory;
-import info.textgrid.middleware.oaipmh.GetRecordType;
-import info.textgrid.middleware.oaipmh.IdentifyType;
-import info.textgrid.middleware.oaipmh.ListIdentifiersType;
-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.ObjectFactory;
-import info.textgrid.middleware.oaipmh.RequestType;
-import info.textgrid.middleware.oaipmh.VerbType;
+import org.openarchives.oai._2.GetRecordType;
+import org.openarchives.oai._2.IdentifyType;
+import org.openarchives.oai._2.ListIdentifiersType;
+import org.openarchives.oai._2.ListMetadataFormatsType;
+import org.openarchives.oai._2.ListRecordsType;
+import org.openarchives.oai._2.ListSetsType;
+import org.openarchives.oai._2.OAIPMHtype;
+import org.openarchives.oai._2.ObjectFactory;
+import org.openarchives.oai._2.RequestType;
+import org.openarchives.oai._2.VerbType;
 
 /**
  * <p>
@@ -81,7 +81,7 @@ public class OAIPMHImpl implements OAIPMHProducer {
   /*
    * (non-Javadoc)
    *
-   * @see info.textgrid.middleware.OAIPMHProducer#getRequest(java.lang.String, java.lang.String,
+   * @see org.openarchives.oai._2Producer#getRequest(java.lang.String, java.lang.String,
    * java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
    */
   public JAXBElement<OAIPMHtype> postRequest(String verb, String identifier, String metadataPrefix,
@@ -92,7 +92,7 @@ public class OAIPMHImpl implements OAIPMHProducer {
   /*
    * (non-Javadoc)
    * 
-   * @see info.textgrid.middleware.OAIPMHProducer#getRequest(java.lang.String, java.lang.String,
+   * @see org.openarchives.oai._2Producer#getRequest(java.lang.String, java.lang.String,
    * java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
    */
   public JAXBElement<OAIPMHtype> getRequest(String verb, String identifier, String metadataPrefix,
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHProducer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHProducer.java
index c5a83a8dd8c872cde50a07b4ddae27da37e08412..df1caea1de2d82444fca2c852d8520f329c0bb7e 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHProducer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHProducer.java
@@ -1,6 +1,6 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.OAIPMHtype;
+import org.openarchives.oai._2.OAIPMHtype;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtillities.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtillities.java
index ca24395d0ffe7352f93481c7e28bcecc453fdf08..ca2f6c1c4344d8f9b21ad2db71b82b6dcd5b3eb6 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtillities.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtillities.java
@@ -1,8 +1,8 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.ListMetadataFormatsType;
-import info.textgrid.middleware.oaipmh.MetadataFormatType;
-import info.textgrid.middleware.oaipmh.ResumptionTokenType;
+import org.openarchives.oai._2.ListMetadataFormatsType;
+import org.openarchives.oai._2.MetadataFormatType;
+import org.openarchives.oai._2.ResumptionTokenType;
 import java.math.BigInteger;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OaiPmhClient.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OaiPmhClient.java
index f59d6af80373331b74dfdf70dd143db18fd27d66..5e9bf7447bca13626ad9bc5ebc1acecfa49dd452 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OaiPmhClient.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OaiPmhClient.java
@@ -1,6 +1,6 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.OAIPMHtype;
+import org.openarchives.oai._2.OAIPMHtype;
 import java.text.ParseException;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererAbstract.java
index c5af207168d447627aac9536b323ab8e738838ef..ad8e73c9f8731d622d270f0463ad6cccc399f557 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererAbstract.java
@@ -2,7 +2,7 @@ package info.textgrid.middleware;
 
 import java.util.ArrayList;
 import java.util.List;
-import info.textgrid.middleware.oaipmh.RequestType;
+import org.openarchives.oai._2.RequestType;
 
 /**
  * FIXME
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 eccb54aa5338267acdf80473f08625b3df591133..539e00a050b31b52a5494ea8e8cd0f9e10404fce 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java
@@ -5,9 +5,9 @@ import javax.xml.datatype.DatatypeConfigurationException;
 import org.apache.commons.logging.LogFactory;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
-import info.textgrid.middleware.oaipmh.GetRecordType;
-import info.textgrid.middleware.oaipmh.HeaderType;
-import info.textgrid.middleware.oaipmh.RecordType;
+import org.openarchives.oai._2.GetRecordType;
+import org.openarchives.oai._2.HeaderType;
+import org.openarchives.oai._2.RecordType;
 
 /**
  * FIXME
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 80da54b5dd39be65ef8290c218bf2a5c5627f5ca..eae3bba5c67fbba7c7a8b89a4c46fa249d155f3a 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
@@ -2,22 +2,18 @@ package info.textgrid.middleware;
 
 import java.io.StringReader;
 import java.text.ParseException;
-
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
-
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
-
 import org.apache.commons.logging.LogFactory;
 import org.classicmayan.tools.ClassicMayanMetsMods;
 import org.elasticsearch.action.get.GetRequestBuilder;
 import org.elasticsearch.action.get.GetResponse;
-
-import info.textgrid.middleware.oaipmh.GetRecordType;
-import info.textgrid.middleware.oaipmh.HeaderType;
-import info.textgrid.middleware.oaipmh.MetadataType;
-import info.textgrid.middleware.oaipmh.RecordType;
+import org.openarchives.oai._2.GetRecordType;
+import org.openarchives.oai._2.HeaderType;
+import org.openarchives.oai._2.MetadataType;
+import org.openarchives.oai._2.RecordType;
 
 /**
  * 
@@ -32,11 +28,11 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
   private String dateOfObjectCreation;
   private String dateOfLastOblectModification;
   private OAI_ESClient oaiEsClient;
-  
+
   static MetadataType metadataMets = new MetadataType();
   RecordType record = new RecordType();
   ClassicMayanMetsMods metsmods;
-  
+
   private static org.apache.commons.logging.Log log = LogFactory.getLog(RecordDelivererIDIOM.class);
 
   /**
@@ -46,105 +42,107 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
   public RecordDelivererIDIOM(boolean textgrid, boolean dariah) {
     super(textgrid, dariah);
   }
- 
+
   /*
    * (non-Javadoc)
    * 
    * @see info.textgrid.middleware.RecordDelivererInterface#getRecordById(java.lang.String)
    */
-  
+
   /**
-   * ElasticSearch request in non-public index to get the datestamps for 
-   * the object creation and last modification date in TextGrid-Repo
-   *  
+   * ElasticSearch request in non-public index to get the datestamps for the object creation and
+   * last modification date in TextGrid-Repo
+   * 
    * @param idInDatabase
    */
-  
+
   public void setDatestamps(String idInDatabase) {
-	  String changedId = idInDatabase;
-  
-	  if(idInDatabase.startsWith("textgrid:")) {
-		 changedId = idInDatabase.substring("textgrid:".length());
-	  }
-	  
-	  if(!idInDatabase.contains(".0")) {
-		  changedId = changedId + ".0";
-	  }
-	  //sSystem.out.println(changedId);
-	  GetRequestBuilder recordById = OAI_ESClient.getOaiESClient()			  
-			  .prepareGet()
-			  .setIndex("textgrid-nonpublic")
-	          .setType(OAI_ESClient.getEsType())
-	          .setFields(TGConstants.CREATED, TGConstants.MODIFIED_FIELD)	          
-	          .setId(changedId);
-	  
-	  GetResponse objectInDatabase = recordById.execute().actionGet();	  
-	  
-	  dateOfObjectCreation = objectInDatabase.getField(TGConstants.CREATED).getValue().toString();
-	  dateOfLastOblectModification = objectInDatabase.getField(TGConstants.MODIFIED_FIELD).getValue().toString();
+    String changedId = idInDatabase;
+
+    if (idInDatabase.startsWith("textgrid:")) {
+      changedId = idInDatabase.substring("textgrid:".length());
+    }
+
+    if (!idInDatabase.contains(".0")) {
+      changedId = changedId + ".0";
+    }
+    // sSystem.out.println(changedId);
+    GetRequestBuilder recordById = OAI_ESClient.getOaiESClient()
+        .prepareGet()
+        .setIndex("textgrid-nonpublic")
+        .setType(OAI_ESClient.getEsType())
+        .setFields(TGConstants.CREATED, TGConstants.MODIFIED_FIELD)
+        .setId(changedId);
+
+    GetResponse objectInDatabase = recordById.execute().actionGet();
+
+    this.dateOfObjectCreation =
+        objectInDatabase.getField(TGConstants.CREATED).getValue().toString();
+    this.dateOfLastOblectModification =
+        objectInDatabase.getField(TGConstants.MODIFIED_FIELD).getValue().toString();
   }
-  
+
   /**
-   * building the record XML object for the OAI-PMH response 
+   * building the record XML object for the OAI-PMH response
    */
-  
+
   public GetRecordType getRecordById(String id) {
-	
+
     GetRecordType grt = new GetRecordType();
-    
+
     setDatestamps(id);
     String textgridBaseURI_FromID;
-    if(!id.startsWith("textgrid:")) {
-    	textgridBaseURI_FromID = "textgrid:" + id.replace(".0", "");
-    }else {
-    	textgridBaseURI_FromID = id;
+    if (!id.startsWith("textgrid:")) {
+      textgridBaseURI_FromID = "textgrid:" + id.replace(".0", "");
+    } else {
+      textgridBaseURI_FromID = id;
     }
     log.info("ID for generating the METS/MODS file is: " + textgridBaseURI_FromID);
-    metsmods = new ClassicMayanMetsMods(
-    		textgridBaseURI_FromID,
-    		dateOfObjectCreation, 
-    		dateOfLastOblectModification);
-    record.setMetadata(idiomMets());
+    this.metsmods = new ClassicMayanMetsMods(
+        textgridBaseURI_FromID,
+        this.dateOfObjectCreation,
+        this.dateOfLastOblectModification);
+    this.record.setMetadata(idiomMets());
     try {
-    	if(!id.startsWith("textgrid:")) {
-    		setRecordHeader(dateOfObjectCreation, "textgrid:" + id);
-    	}else {
-    		setRecordHeader(dateOfObjectCreation, id);
-    	}
-	} catch (ParseException e) {
-		e.printStackTrace();
-		log.error(e.toString());
-	}
-    
-    grt.setRecord(record);
+      if (!id.startsWith("textgrid:")) {
+        setRecordHeader(this.dateOfObjectCreation, "textgrid:" + id);
+      } else {
+        setRecordHeader(this.dateOfObjectCreation, id);
+      }
+    } catch (ParseException e) {
+      e.printStackTrace();
+      log.error(e.toString());
+    }
+
+    grt.setRecord(this.record);
 
     return grt;
   }
-  
+
   // **
   // PRIVATE METHODS
   // **
-  
+
   /**
-   * Getting the Mets/Mods object for the ClassicMayan artefact 
-   * and put them into metadata element of the OAI-PMH response
+   * Getting the Mets/Mods object for the ClassicMayan artefact and put them into metadata element
+   * of the OAI-PMH response
+   * 
    * @return metadata XML-Elment
    */
-  
-  private MetadataType idiomMets(){
-    
-    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
-    DocumentBuilder builder; 
-	  
-    try  
-    {  
-        builder = factory.newDocumentBuilder();  
-        Document doc = builder.parse( new InputSource( new StringReader( metsmods.getMets() ) ) ); 
-        metadataMets.setAny(doc.getDocumentElement());
-    } catch (Exception e) {  
-        e.printStackTrace();  
+
+  private MetadataType idiomMets() {
+
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    DocumentBuilder builder;
+
+    try {
+      builder = factory.newDocumentBuilder();
+      Document doc = builder.parse(new InputSource(new StringReader(this.metsmods.getMets())));
+      metadataMets.setAny(doc.getDocumentElement());
+    } catch (Exception e) {
+      e.printStackTrace();
     }
-    
+
     return metadataMets;
   }
 
@@ -154,23 +152,23 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
    * @param dateOfCreation
    * @param identifier
    * @return
- * @throws ParseException 
+   * @throws ParseException
    */
   private void setRecordHeader(String dateOfCreation, String identifier) throws ParseException {
 
     HeaderType recordHeader = new HeaderType();
     recordHeader.setIdentifier(identifier);
     recordHeader.setDatestamp(OAIPMHUtillities.datestampAsString(dateOfCreation));
-    record.setHeader(recordHeader);
-    //return recordHeader;
+    this.record.setHeader(recordHeader);
+    // return recordHeader;
   }
 
-public OAI_ESClient getOaiEsClient() {
-	return oaiEsClient;
-}
+  public OAI_ESClient getOaiEsClient() {
+    return this.oaiEsClient;
+  }
 
-public void setOaiEsClient(OAI_ESClient oaiEsClient) {
-	this.oaiEsClient = oaiEsClient;
-}
+  public void setOaiEsClient(OAI_ESClient oaiEsClient) {
+    this.oaiEsClient = oaiEsClient;
+  }
 
 }
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererInterface.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererInterface.java
index 133a902258065444fc5e24e4a3915ccade5026ea..e572394118994fd0005eef3994babeee9290ff12 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererInterface.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererInterface.java
@@ -1,6 +1,6 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.GetRecordType;
+import org.openarchives.oai._2.GetRecordType;
 
 /**
  * @author Maximilian Brodhun, SUB Göttingen
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
index a62afe19609d2a17f75bac188d051f98d7913555..c6807249ad522c22c64d3d3af09a12862a2eedbf 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
@@ -2,7 +2,7 @@ package info.textgrid.middleware;
 
 import java.util.ArrayList;
 import java.util.List;
-import info.textgrid.middleware.oaipmh.RequestType;
+import org.openarchives.oai._2.RequestType;
 
 /**
  *
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 7b434caeb0313fc9b58394c743fed69ff41fc7e1..b38b01777bb2c9e461a9ef86ff72e3b5117da28b 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
@@ -15,11 +15,11 @@ import org.elasticsearch.common.unit.TimeValue;
 import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
-import info.textgrid.middleware.oaipmh.HeaderType;
-import info.textgrid.middleware.oaipmh.ListRecordsType;
-import info.textgrid.middleware.oaipmh.MetadataType;
-import info.textgrid.middleware.oaipmh.RecordType;
-import info.textgrid.middleware.oaipmh.ResumptionTokenType;
+import org.openarchives.oai._2.HeaderType;
+import org.openarchives.oai._2.ListRecordsType;
+import org.openarchives.oai._2.MetadataType;
+import org.openarchives.oai._2.RecordType;
+import org.openarchives.oai._2.ResumptionTokenType;
 
 /**
  *
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java
index 4eacaf08c7cb0c0444db87991807a9180fefc5e7..20df76f2c1a01323da3697ec1b64968d42c90daa 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java
@@ -6,11 +6,11 @@ import java.util.Map;
 import java.util.UUID;
 import org.apache.commons.logging.LogFactory;
 import org.classicmayan.tools.Queries;
-import info.textgrid.middleware.oaipmh.HeaderType;
-import info.textgrid.middleware.oaipmh.ListRecordsType;
-import info.textgrid.middleware.oaipmh.MetadataType;
-import info.textgrid.middleware.oaipmh.RecordType;
-import info.textgrid.middleware.oaipmh.ResumptionTokenType;
+import org.openarchives.oai._2.HeaderType;
+import org.openarchives.oai._2.ListRecordsType;
+import org.openarchives.oai._2.MetadataType;
+import org.openarchives.oai._2.RecordType;
+import org.openarchives.oai._2.ResumptionTokenType;
 
 /**
  *
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererInterface.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererInterface.java
index 1dd1f5832b436c2cbb48e67d84ade5af662ca634..b655ccf131e6ab96f7e4fc681c315fe979d05298 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererInterface.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererInterface.java
@@ -1,7 +1,7 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.HeaderType;
-import info.textgrid.middleware.oaipmh.ListRecordsType;
+import org.openarchives.oai._2.HeaderType;
+import org.openarchives.oai._2.ListRecordsType;
 
 /**
  *
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RepIdentification.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RepIdentification.java
index 179520f72ab32cd946cb780e8be35492f6e42ba9..b1e4fb98b82dbd40f8a07948cf6af91dfdfa7fbe 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RepIdentification.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RepIdentification.java
@@ -1,8 +1,8 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.DeletedRecordType;
-import info.textgrid.middleware.oaipmh.GranularityType;
-import info.textgrid.middleware.oaipmh.RequestType;
+import org.openarchives.oai._2.DeletedRecordType;
+import org.openarchives.oai._2.GranularityType;
+import org.openarchives.oai._2.RequestType;
 
 /**
  * Handling the "Identify" request from an OAIPMH client
@@ -14,147 +14,145 @@ import info.textgrid.middleware.oaipmh.RequestType;
  */
 public class RepIdentification {
 
-	private DeletedRecordType tgDeletetObjects = DeletedRecordType.NO;
-	private GranularityType tgRepGranulartiry = GranularityType.YYYY_MM_DD_THH_MM_SS_Z;
-	
-	private String RepositoryName;
-	private String BaseUrl;
-	private String EarliestDatestamp;
-	private String ProtocolVersion;
-	private String AdminMailAdress;
-	
-	
-	public RepIdentification(String RepositoryName, 
-			 String BaseUrl,
-			 DeletedRecordType DeletedRecordInfo,
-			 String EarliestDatestamp,
-			 GranularityType Granularity,
-			 String ProtocolVersion,
-			 String AdminMail){
-		
-		setRepositoryName(RepositoryName);
-		setBaseUrl(BaseUrl);
-		setDeletedRecordStatus(DeletedRecordInfo);
-		setEarliestDatestamp(EarliestDatestamp);
-		setGranularity(Granularity);
-		setProtocolVersion(ProtocolVersion);
-		setAdminMailAddress(AdminMail);
-	}
-
-	
-	/**
-	 * 
-	 * @return TGConstants.TG_REP_NAME;
-	 */
-	public String getRepositoryName(){
-		return RepositoryName;
-	}
-	
-	public void setRepositoryName(String RepositoryName){
-		this.RepositoryName = RepositoryName;
-	}
-	
-	/**
-	 * 
-	 * @return TGConstants.TG_REP_BASEURL
-	 */
-	public String getBaseUrl(){
-		return BaseUrl;
-	}
-	
-	public void setBaseUrl(String BaseUrl){
-		this.BaseUrl = BaseUrl;
-	}
-		
-	/**
-	 * 
-	 * @return tgDeletetObjects
-	 */
-	public DeletedRecordType getDeletedRecordStatus(){
-		return tgDeletetObjects;
-	}
-	
-	public void setDeletedRecordStatus(DeletedRecordType tgDeletetObjects){
-		this.tgDeletetObjects = tgDeletetObjects;
-	}
-	
-	/**
-	 * 
-	 * @return "2011-06-11T2:32:40Z"
-	 */
-	public String getEarliestDatestamp(){
-		//return "2011-06-11T02:32:40Z";
-		return EarliestDatestamp;
-	}
-	
-	public void setEarliestDatestamp(String earliestDatestamp){
-		this.EarliestDatestamp = earliestDatestamp;
-	}
-	
-	/**
-	 * 
-	 * @return tgRepGranulartiry
-	 */
-	public GranularityType getGranularity(){
-		return tgRepGranulartiry;
-	}
-	
-	public void setGranularity(GranularityType tgRepGranulartiry){
-		this.tgRepGranulartiry = tgRepGranulartiry; 
-	}
-	
-	/**
-	 * 
-	 * @return TGConstants.TG_REP_OAIPMH_PROTOCOL_VERSION;
-	 */
-	public String getProtocolVersion(){
-		//return TGConstants.TG_REP_OAIPMH_PROTOCOL_VERSION;
-		return ProtocolVersion;
-	}
-	
-	public void setProtocolVersion(String protocolVersion){
-		this.ProtocolVersion = protocolVersion;
-	}
-	
-	/**
-	 * 
-	 * @return TGConstants.TEXTGRID_REP_ADMIN_CONTACT.get(0)
-	 */
-	public String getAdminMaiAddresss(){
-		//return TGConstants.TEXTGRID_REP_ADMIN_CONTACT.get(0);
-		return AdminMailAdress;
-	}
-	
-	public void setAdminMailAddress(String adminMailAddress){
-		this.AdminMailAdress = adminMailAddress;
-	}
-	
-	/**
-	 * checking the request if all necessary values are set or not allowed values are not set
-	 * @param request the initially request from the OAIPMG client
-	 * @return a boolean indicating the correctness of the request
-	 */
-	
-	public boolean requestChecker(RequestType request){
-		
-		boolean noArguments;
-		
-		if( request.getFrom()!=null || 
-			request.getIdentifier()!=null || 
-			request.getMetadataPrefix()!=null 
-		   ){
-				noArguments=false;
-		}
-		else if(request.getResumptionToken()!=null || 
-				request.getSet()!=null || 
-				request.getUntil()!=null){
-			
-				noArguments=false;
-		}
-		else{
-			noArguments=true;
-		}
-		return noArguments;
-	}
-	
+  private DeletedRecordType tgDeletetObjects = DeletedRecordType.NO;
+  private GranularityType tgRepGranulartiry = GranularityType.YYYY_MM_DD_THH_MM_SS_Z;
+
+  private String RepositoryName;
+  private String BaseUrl;
+  private String EarliestDatestamp;
+  private String ProtocolVersion;
+  private String AdminMailAdress;
+
+
+  public RepIdentification(String RepositoryName,
+      String BaseUrl,
+      DeletedRecordType DeletedRecordInfo,
+      String EarliestDatestamp,
+      GranularityType Granularity,
+      String ProtocolVersion,
+      String AdminMail) {
+
+    setRepositoryName(RepositoryName);
+    setBaseUrl(BaseUrl);
+    setDeletedRecordStatus(DeletedRecordInfo);
+    setEarliestDatestamp(EarliestDatestamp);
+    setGranularity(Granularity);
+    setProtocolVersion(ProtocolVersion);
+    setAdminMailAddress(AdminMail);
+  }
+
+
+  /**
+   * 
+   * @return TGConstants.TG_REP_NAME;
+   */
+  public String getRepositoryName() {
+    return this.RepositoryName;
+  }
+
+  public void setRepositoryName(String RepositoryName) {
+    this.RepositoryName = RepositoryName;
+  }
+
+  /**
+   * 
+   * @return TGConstants.TG_REP_BASEURL
+   */
+  public String getBaseUrl() {
+    return this.BaseUrl;
+  }
+
+  public void setBaseUrl(String BaseUrl) {
+    this.BaseUrl = BaseUrl;
+  }
+
+  /**
+   * 
+   * @return tgDeletetObjects
+   */
+  public DeletedRecordType getDeletedRecordStatus() {
+    return this.tgDeletetObjects;
+  }
+
+  public void setDeletedRecordStatus(DeletedRecordType tgDeletetObjects) {
+    this.tgDeletetObjects = tgDeletetObjects;
+  }
+
+  /**
+   * 
+   * @return "2011-06-11T2:32:40Z"
+   */
+  public String getEarliestDatestamp() {
+    // return "2011-06-11T02:32:40Z";
+    return this.EarliestDatestamp;
+  }
+
+  public void setEarliestDatestamp(String earliestDatestamp) {
+    this.EarliestDatestamp = earliestDatestamp;
+  }
+
+  /**
+   * 
+   * @return tgRepGranulartiry
+   */
+  public GranularityType getGranularity() {
+    return this.tgRepGranulartiry;
+  }
+
+  public void setGranularity(GranularityType tgRepGranulartiry) {
+    this.tgRepGranulartiry = tgRepGranulartiry;
+  }
+
+  /**
+   * 
+   * @return TGConstants.TG_REP_OAIPMH_PROTOCOL_VERSION;
+   */
+  public String getProtocolVersion() {
+    // return TGConstants.TG_REP_OAIPMH_PROTOCOL_VERSION;
+    return this.ProtocolVersion;
+  }
+
+  public void setProtocolVersion(String protocolVersion) {
+    this.ProtocolVersion = protocolVersion;
+  }
+
+  /**
+   * 
+   * @return TGConstants.TEXTGRID_REP_ADMIN_CONTACT.get(0)
+   */
+  public String getAdminMaiAddresss() {
+    // return TGConstants.TEXTGRID_REP_ADMIN_CONTACT.get(0);
+    return this.AdminMailAdress;
+  }
+
+  public void setAdminMailAddress(String adminMailAddress) {
+    this.AdminMailAdress = adminMailAddress;
+  }
+
+  /**
+   * checking the request if all necessary values are set or not allowed values are not set
+   * 
+   * @param request the initially request from the OAIPMG client
+   * @return a boolean indicating the correctness of the request
+   */
+
+  public boolean requestChecker(RequestType request) {
+
+    boolean noArguments;
+
+    if (request.getFrom() != null ||
+        request.getIdentifier() != null ||
+        request.getMetadataPrefix() != null) {
+      noArguments = false;
+    } else if (request.getResumptionToken() != null ||
+        request.getSet() != null ||
+        request.getUntil() != null) {
+
+      noArguments = false;
+    } else {
+      noArguments = true;
+    }
+    return noArguments;
+  }
+
 }
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 e8a98fd410da53dcce7f9793764c0b16ccd5a977..063f734af89fbcc6aed7f6216541a7157b71f9d8 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java
@@ -1,9 +1,6 @@
 package info.textgrid.middleware;
 
-import info.textgrid.middleware.oaipmh.ListSetsType;
-import info.textgrid.middleware.oaipmh.SetType;
 import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
-
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.Hashtable;
@@ -18,6 +15,8 @@ import org.elasticsearch.action.search.SearchResponse;
 import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.SearchHit;
+import org.openarchives.oai._2.ListSetsType;
+import org.openarchives.oai._2.SetType;
 
 /**
  *
@@ -65,7 +64,7 @@ public class SetDeliverer {
         .setQuery(aggQuery).addField(this.formatField).addField(this.identifierField)
         .addField("project.value").addField("project.id").setSize(100000);
 
-     SearchResponse getRecordListItems = request.execute().actionGet();
+    SearchResponse getRecordListItems = request.execute().actionGet();
 
     for (SearchHit hit : getRecordListItems.getHits().getHits()) {
       if (this.dariah == true && hit.getFields().get(this.identifierField).values().get(0)
diff --git a/oaipmh-core/src/main/xsd/oai_pmh.xsd__URGLI_MURGLI b/oaipmh-core/src/main/xsd/oai_pmh.xsd
similarity index 100%
rename from oaipmh-core/src/main/xsd/oai_pmh.xsd__URGLI_MURGLI
rename to oaipmh-core/src/main/xsd/oai_pmh.xsd