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 511d43c438c5fb42c6d00b0ccf881bf5b0614041..66a42192d3c095e5d7c33c30c8428f042566d781 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -11,6 +11,8 @@ import info.textgrid.middleware.oaipmh.RequestType;
 import info.textgrid.middleware.oaipmh.VerbType;
 
 import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.GET;
@@ -39,7 +41,7 @@ public class OAIPMHImpl implements OAIPMHProducer{
 	private org.apache.commons.logging.Log log = LogFactory.getLog(OAIPMHImpl.class);
 	private ListIdentifiersType listIDs = new ListIdentifiersType();
 	private OAI_ESClient oaiEsClient;
-	
+	private List<String> errorValues = new ArrayList<String>();
 	
 	
 	public OAIPMHImpl(OAI_ESClient oaiEsClient){
@@ -144,7 +146,21 @@ public class OAIPMHImpl implements OAIPMHProducer{
 			
 		}
 		else{
-			error.setError(TGConstants.OAI_BAD_ARGUMENT).setValue("The request includes illegal arguments");
+			if(request.getIdentifier()!=null){
+				errorValues.add("identifier");
+			}if(request.getFrom()!=null){
+				errorValues.add("from");
+			}if(request.getMetadataPrefix()!=null){
+				errorValues.add("metadataPrefix");
+			}if(request.getResumptionToken()!=null){
+				errorValues.add("ResumptionTiken");
+			}if(request.getUntil()!=null){
+				errorValues.add("Until");
+			}if(request.getSet()!=null){
+				errorValues.add("set");
+			}
+			
+			error.setError(TGConstants.OAI_BAD_ARGUMENT).setValue("The request includes illegal arguments: " + errorValues);
 			oai.getError().add(error.setError(TGConstants.OAI_BAD_ARGUMENT));
 		}
 		
@@ -179,8 +195,18 @@ public class OAIPMHImpl implements OAIPMHProducer{
 				}
 		}
 		else{
+			
+			if(request.getFrom()!=null){
+				errorValues.add("from");
+			}if(request.getResumptionToken()!=null){
+				errorValues.add("resumptionToken");
+			}if(request.getSet()!=null){
+				errorValues.add("set");
+			}if(request.getUntil()!=null){
+				errorValues.add("until");
+			}
 			error.setError(TGConstants.OAI_BAD_ARGUMENT).setValue("The request includes illegal arguments " +
-					"or is missing required arguments");
+					"or is missing required arguments: " + errorValues);
 			oai.getError().add(error.setError(TGConstants.OAI_BAD_ARGUMENT));
 		}
 		
@@ -196,8 +222,9 @@ public class OAIPMHImpl implements OAIPMHProducer{
 		JAXBElement<OAIPMHType> oaipmhRoot = obf.createOAIPMH(oai);
 		
 		if(request.getIdentifier()!=null){
+			errorValues.add("identifier");
 			error.setError(TGConstants.OAI_BAD_ARGUMENT).setValue("The request includes illegal arguments " +
-					"or missing requiered arguments");
+					"or missing requiered arguments: " + errorValues);
 			oai.getError().add(error.setError(TGConstants.OAI_BAD_ARGUMENT));
 		}
 		else{
@@ -263,8 +290,22 @@ public class OAIPMHImpl implements OAIPMHProducer{
 				oai.getError().add(error.setError(TGConstants.OAI_NO_RECORD_MATCH));
 			}
 		}else{
+			if(request.getFrom()!=null){
+				errorValues.add("from");
+			}if(request.getIdentifier()==null){
+				errorValues.add("identifier");
+			}if(request.getMetadataPrefix()!=null){
+				errorValues.add("metadataPrefix");
+			}if(request.getResumptionToken()!=null){
+				errorValues.add("resumptionToken");
+			}if(request.getSet()!=null){
+				errorValues.add("set");
+			}if(request.getUntil()!=null){
+				errorValues.add("until");
+			}
+				
 			error.setError(TGConstants.OAI_BAD_ARGUMENT).setValue("The request includes illegal " +
-					"arguments or is missing required arguments");
+					"arguments or is missing required arguments: " + errorValues);
 			oai.getError().add(error.setError(TGConstants.OAI_BAD_ARGUMENT));
 			}
 	
@@ -278,8 +319,9 @@ public class OAIPMHImpl implements OAIPMHProducer{
 		JAXBElement<OAIPMHType> oaipmhRoot = obf.createOAIPMH(oai);
 		
 		if(request.getIdentifier()!=null){
+			errorValues.add("identifier");
 			error.setError(TGConstants.OAI_BAD_ARGUMENT).setValue("The request includes illegal " +
-					"arguments or is missing required arguments");
+					"arguments or is missing required arguments: " + errorValues);
 			oai.getError().add(error.setError(TGConstants.OAI_BAD_ARGUMENT));
 		}else{
 			
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/TGConstants.java b/oaipmh-core/src/main/java/info/textgrid/middleware/TGConstants.java
index c74d19ad78e70f537d470dbd47ab447bd9ddc05d..4f253755db61e3e4444c1683c80016943985457a 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/TGConstants.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/TGConstants.java
@@ -27,7 +27,7 @@ public final class TGConstants {
 	
 	public static final String TG_REP_NAME = "TextGrid Repository";
 	public static final String TG_REP_BASEURL = "www.textgridrep.de";
-	public static final String TG_REP_OAIPMH_PROTOCOL_VERSION = "v2.0";
+	public static final String TG_REP_OAIPMH_PROTOCOL_VERSION = "2.0";
 	public static final String METADATA_DC_PREFIX = "oai_dc";
 	
 	public static final String OAI_BAD_ARGUMENT = "BadArgument";
diff --git a/oaipmh-core/src/main/xsd/oai_pmh.xsd b/oaipmh-core/src/main/xsd/oai_pmh.xsd
index 207401d461b91ba60860bd51d43dde467317a27f..834bb391c33803dcfaebd72495929fa29d7a543a 100644
--- a/oaipmh-core/src/main/xsd/oai_pmh.xsd
+++ b/oaipmh-core/src/main/xsd/oai_pmh.xsd
@@ -1,7 +1,7 @@
 <schema targetNamespace="http://www.openarchives.org/OAI/2.0/"
         xmlns="http://www.w3.org/2001/XMLSchema"
         xmlns:oai="http://www.openarchives.org/OAI/2.0/"
-        elementFormDefault="unqualified"
+        elementFormDefault="qualified"
         attributeFormDefault="unqualified">
 
   <annotation>
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 1e6516932850eafcf613a2026598eb0897b6c93f..6a33f30240350d22bca450f72fe9cca1272e2998 100644
--- a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
+++ b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTest.java
@@ -11,6 +11,7 @@ import javax.xml.datatype.XMLGregorianCalendar;
 
 
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 
 
@@ -31,23 +32,26 @@ public class OaiPmhTest{
 	
 	
 	/*@Test
+	//@Ignore
 	public void testListRecords(){
 		
 		JAXBElement<OAIPMHType> r = testRequest.getRequest("ListRecords", "", "oai_dc", "", "2012-02-10T10:54:42", "2012-03-10T10:54:42", "");
 		JAXB.marshal(r, System.out);
 		System.out.println("-----------------------------------\n");
-	}*/
+	}
 	
 	
-	/*@Test
+	@Test
+	//@Ignore
 	public void testListMetadataFormats(){
 		
 		JAXBElement<OAIPMHType> r = testRequest.getRequest("ListMetadataFormats", "wr67.0", "", "", "", "", "");
 		JAXB.marshal(r, System.out);
 		System.out.println("-----------------------------------\n");
-	}*/
+	}
 	
 	@Test
+	//@Ignore
 	public void testDateNow() throws DatatypeConfigurationException{
 		System.out.println("---------------Now Version-----------------");		
 		XMLGregorianCalendar nowTest = OAIPMHUtillities.getXMLGregorianCalendarNow();
@@ -56,6 +60,7 @@ public class OaiPmhTest{
 	}
 	
 	@Test
+	//@Ignore
 	public void testDateGregorianType() throws ParseException, DatatypeConfigurationException{
 		String dateformatbefore = "2012-02-06T20:48:39.614+01:00";
 		
@@ -67,6 +72,7 @@ public class OaiPmhTest{
 	}
 	
 	@Test
+	//@Ignore
 	public void testDateStringType() throws ParseException, DatatypeConfigurationException{
 		String dateformatbefore = "2012-02-06T20:48:39.614+01:00";
 		
@@ -78,6 +84,7 @@ public class OaiPmhTest{
 	}
 	
 	@Test
+	//@Ignore
 	public void testListSets(){
 		
 		JAXBElement<OAIPMHType> r = testRequest.getRequest("ListSets", "", "", "", "", "", "");
@@ -85,24 +92,27 @@ public class OaiPmhTest{
 		System.out.println("-----------------------------------\n");
 	}
 	
-	/*@Test
+	@Test
+	//@Ignore
 	public void testListIdentifiers(){
 		
-		JAXBElement<OAIPMHType> r = testRequest.getRequest("ListIdentifiers", "", "oai_dc", "", "2012-02-05", "2012-02-10", "");
+		JAXBElement<OAIPMHType> r = testRequest.getRequest("ListIdentifiers", "a", "oai_dc", "", "2012-02-05", "2012-02-10", "");
 		JAXB.marshal(r, System.out);
 		System.out.println("-----------------------------------\n");
-	}*/
+	}
 	
 	@Test
+	//@Ignore
 	public void testGetRequestIdentify(){
 		
 		System.out.println("Test for the verb \"Identify\" with succesfull response");
-		JAXBElement<OAIPMHType> r = testRequest.getRequest("Identiy", "", "", "", "", "", "");
+		JAXBElement<OAIPMHType> r = testRequest.getRequest("Identify", "", "", "", "", "", "");
 		JAXB.marshal(r, System.out);
 		System.out.println("-----------------------------------\n");
 	}
 	
 	@Test
+	//@Ignore
 	public void testGetRequestIdentifyVerbError(){
 		JAXBElement<OAIPMHType> t = testRequest.getRequest("Identify", "", "", "", "", "", "");
 		JAXB.marshal(t, System.out);
@@ -110,23 +120,26 @@ public class OaiPmhTest{
 	}
 	
 	@Test
+	//@Ignore
 	public void testGetRequestIdentifyArgumentError(){
 		System.out.println("Test for the verb \"Identify\" with error response");
-		JAXBElement<OAIPMHType> z = testRequest.getRequest("Identify", "a", "", "", "", "", "");
+		JAXBElement<OAIPMHType> z = testRequest.getRequest("Identify", "a", "", "", "", "a", "");
 		JAXB.marshal(z, System.out);
 		System.out.println("-----------------------------------\n");
 	}
 	
-	/*@Test
+	@Test
+	//@Ignore
 	public void testGetRequestGetRecordError(){
 		System.out.println("Test for the verb \"GetRecord\" with succesfull response");
-		JAXBElement<OAIPMHType> t = testRequest.getRequest("GetRecord", "wr67.0", "oai_dc", "", "", "", "");
+		JAXBElement<OAIPMHType> t = testRequest.getRequest("GetRecord", "wr67.0", "oai_dc", "s", "a", "a", "a");
 		JAXB.marshal(t, System.out);
 		System.out.println("-----------------------------------\n");
 		
-	}*/
+	}
 	
-	/*@Test
+	@Test
+	//@Ignore
 	public void testGetRequestGetRecordError2(){
 		System.out.println("Test for the verb \"GetRecord\" with succesfull response");
 		JAXBElement<OAIPMHType> p = testRequest.getRequest("GetRecord", "mzw.0", "oai_dc", "", "", "", "");
@@ -136,6 +149,7 @@ public class OaiPmhTest{
 	}
 
 	@Test
+	//@Ignore
 	public void testGetRequestGetRecordError3(){
 		System.out.println("Test for the verb \"GetRecord\" with succesfull response");
 		JAXBElement<OAIPMHType> p = testRequest.getRequest("GetRecord", "h4zh.0", "oai_dc", "", "", "", "");
diff --git a/oaipmh-core/target/generated-sources/jaxb/info/textgrid/middleware/oaipmh/package-info.java b/oaipmh-core/target/generated-sources/jaxb/info/textgrid/middleware/oaipmh/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..4adb9014d2aa5024e1cf0f41c32d48ccb3b67b28
--- /dev/null
+++ b/oaipmh-core/target/generated-sources/jaxb/info/textgrid/middleware/oaipmh/package-info.java
@@ -0,0 +1,19 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.02.18 at 05:45:27 PM MEZ 
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.openarchives.org/OAI/2.0/",
+
+
+xmlns = {   
+    @XmlNs(namespaceURI = "http://purl.org/dc/elements/1.1/", prefix = "dc"),  
+    @XmlNs(namespaceURI = "http://www.openarchives.org/OAI/2.0/oai_dc/", prefix = "oai-dc"),
+    @XmlNs(namespaceURI = "http://www.openarchives.org/OAI/2.0/", prefix = "") 
+},  elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+
+package info.textgrid.middleware.oaipmh;
+
+import javax.xml.bind.annotation.XmlNs;
\ No newline at end of file