diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IDIOMImages.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IDIOMImages.java
index b85b02d56ccd72fdad9d044dc37bf1cf7eec331c..59ec3281a924ad3b813cb5d65d33134e2e99c9f7 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IDIOMImages.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IDIOMImages.java
@@ -50,7 +50,7 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
   private String pageNumber;
   private int totalHits;
   private String idiomRbacSessionID;
-  private String idiomTGCrudEndpoint;
+  private String idiomTgcrudEndpoint;
 
   private static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>();
   private static Map<String, String> fromUntilCollector = new Hashtable<String, String>();
@@ -62,6 +62,14 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
     //
   }
 
+  /**
+   * 
+   */
+  public IDIOMImages(String tgcrudEndpoint, String rbacSessionID) {
+    this.idiomTgcrudEndpoint = tgcrudEndpoint;
+    this.idiomRbacSessionID = rbacSessionID;
+  }
+
   /**
    * 
    * @throws JSONException
@@ -116,7 +124,7 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
         String dateStamp = mediaList.getJSONObject(i).get("created_at").toString();
         String identifier = mediaList.getJSONObject(i).get("id").toString();
 
-        record.setHeader(buildOAIPMH_RecordHeader(dateStamp, identifier));
+        record.setHeader(buildOAIPMHRecordHeader(dateStamp, identifier));
         imageMetsModsList.getRecord().add(record);
       } catch (ParserConfigurationException e) {
         // TODO Auto-generated catch block
@@ -190,9 +198,11 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
     }
 
     log.fine("processing id: " + changedID);
+    log.fine("tgcrud endpoint: " + this.idiomTgcrudEndpoint);
+    log.fine("tgcrud rbac sid: " + OAIPMHUtilities.hideSID(this.idiomRbacSessionID));
 
     try {
-      immByTGURI = new ImageMetsMods(this.idiomTGCrudEndpoint, this.idiomRbacSessionID,
+      immByTGURI = new ImageMetsMods(this.idiomTgcrudEndpoint, this.idiomRbacSessionID,
           new TextGridUri(changedID));
 
       log.fine("image id/title: " + immByTGURI.getID() + " / " + immByTGURI.getTitle());
@@ -205,11 +215,11 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
       metadataMets.setAny(doc.getDocumentElement());
       conedaKorRecord.setMetadata(metadataMets);
       if (changedID.contains(".")) {
-        conedaKorRecord.setHeader(buildOAIPMH_RecordHeader(
+        conedaKorRecord.setHeader(buildOAIPMHRecordHeader(
             OAIPMHUtilities.datestampAsString(immByTGURI.getCreationDate()),
             changedID.substring(0, changedID.indexOf("."))));
       } else {
-        conedaKorRecord.setHeader(buildOAIPMH_RecordHeader(
+        conedaKorRecord.setHeader(buildOAIPMHRecordHeader(
             OAIPMHUtilities.datestampAsString(immByTGURI.getCreationDate()), changedID));
       }
 
@@ -223,40 +233,12 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
     return singleImageMetsMods;
   }
 
-  /*
-   * public ListRecordsType getAllMedia() throws JSONException, IOException, ParseException,
-   * SAXException, TransformerFactoryConfigurationError, TransformerException{ ListRecordsType
-   * imageMetsModsList = new ListRecordsType(); MediaHarvester mediaHarvester = new
-   * MediaHarvester(getKindID(),getPerPage(), getPageNumber()); int perPage = 100;
-   * setTotalHits(mediaHarvester.getTotalMedia()); for(int j=1; j*perPage<=100 ;j++){ mediaHarvester
-   * = new MediaHarvester(getKindID(),getPerPage(), Integer.toString(j)); JSONArray mediaList =
-   * mediaHarvester.getMediaListFromConedaKor().getJSONArray("records"); int harvestedEntities =
-   * j*perPage; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-   * DocumentBuilder builder; for(int i=0; i<mediaList.length(); i++){ try{ ImageMetsMods imm = new
-   * ImageMetsMods(mediaList.getJSONObject(i));
-   * 
-   * 
-   * builder = factory.newDocumentBuilder(); Document doc = builder.parse(new InputSource(new
-   * StringReader(imm.getXML())));
-   * 
-   * RecordType record = new RecordType(); MetadataType metadataMets = new MetadataType();
-   * metadataMets.setAny(doc.getDocumentElement()); record.setMetadata(metadataMets);
-   * imageMetsModsList.getRecord().add(record); //printXML(doc);
-   * 
-   * } catch (ParserConfigurationException e) { // TODO Auto-generated catch block
-   * e.printStackTrace(); }
-   * 
-   * }
-   * 
-   * } return imageMetsModsList; }
-   */
-
   /**
    * @param dateStamp
    * @param Identifier
    * @return
    */
-  public HeaderType buildOAIPMH_RecordHeader(String dateStamp, String Identifier) {
+  public HeaderType buildOAIPMHRecordHeader(String dateStamp, String Identifier) {
 
     HeaderType recordHeader = new HeaderType();
     recordHeader.setDatestamp(dateStamp);
@@ -424,15 +406,15 @@ public class IDIOMImages implements RecordDelivererInterface, RecordListDelivere
   /**
    * @return
    */
-  public String getIdiomTGCrudEndpoint() {
-    return this.idiomTGCrudEndpoint;
+  public String getIdiomTgcrudEndpoint() {
+    return this.idiomTgcrudEndpoint;
   }
 
   /**
-   * @param idiomTGCrudEndpoint
+   * @param idiomTgcrudEndpoint
    */
-  public void setIdiomTGCrudEndpoint(String idiomTGCrudEndpoint) {
-    this.idiomTGCrudEndpoint = idiomTGCrudEndpoint;
+  public void setIdiomTgcrudEndpoint(String idiomTgcrudEndpoint) {
+    this.idiomTgcrudEndpoint = idiomTgcrudEndpoint;
   }
 
   /**
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 a9521233ba49ac6956e43aa9fe1701b2f6dda906..99fb5f8b8c326eeefc3accce986995ed4d93b40a 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java
@@ -31,7 +31,7 @@ import info.textgrid.middleware.oaipmh.VerbType;
  * 
  * @author Maximilian Brodhun, SUB Göttingen
  * @author Stefan E. Funk, SUB Göttingen
- * @version 2022-09-07
+ * @version 2022-09-20
  * @since 2014-01-29
  */
 public class OAIPMHImpl implements OAIPMHProducer {
@@ -71,12 +71,14 @@ public class OAIPMHImpl implements OAIPMHProducer {
   private RecordDelivererIDIOM recordIDIOM;
   private RecordDelivererDATACITE recordDATACITE;
 
+  private MetadataFormatListDelivererInterface metadataFormatList;
+  private SetListDeliverer setList;
+
   private IdentifierListDelivererDC identifierListDC;
   private IdentifierListDelivererIDIOM identifierListIDIOM;
   private IdentifierListDelivererDATACITE identifierListDATACITE;
 
-  private MetadataFormatListDelivererInterface metadataFormatList;
-  private SetListDeliverer setList;
+  private IDIOMImages idiomImages;
 
   // **
   // PUBLIC
@@ -124,13 +126,14 @@ public class OAIPMHImpl implements OAIPMHProducer {
     this.recordListIDIOM = recordListIDIOM;
     this.recordListDATACITE = recordListDATACITE;
 
+    this.metadataFormatList = metadataFormatList;
+    this.setList = setList;
+
     this.identifierListDC = identifierList;
     this.identifierListIDIOM = identifierListIDIOM;
     this.identifierListDATACITE = identifierListDATACITE;
 
-    this.metadataFormatList = metadataFormatList;
-
-    this.setList = setList;
+    this.idiomImages = imageList;
   }
 
   /*
@@ -295,6 +298,9 @@ public class OAIPMHImpl implements OAIPMHProducer {
       // Take IDIOM if IDIOM prefix.
       if (request.getMetadataPrefix().equals(OAIPMHConstants.METADATA_IDIOM_PREFIX)) {
         recDeliv = this.recordIDIOM;
+
+        log.fine("  ##  creating RecordDelivererIDIOM");
+
       }
       if (request.getMetadataPrefix().equals(OAIPMHConstants.METADATA_OPENAIRE_PREFIX)) {
         recDeliv = this.recordDATACITE;
@@ -303,9 +309,20 @@ public class OAIPMHImpl implements OAIPMHProducer {
       // Finally start the QUERY!
       GetRecordType getRecord = new GetRecordType();
 
+      log.fine("  ##  created RecordDelivererIDIOM");
+
       String id = request.getIdentifier();
+
+      log.fine("  ##  ID = " + id);
+
       try {
+
+        log.fine("  ##  calling getRecordById");
+
         getRecord = recDeliv.getRecordById(id);
+
+        log.fine("  ##  called getRecordById");
+
       } catch (ParseException | DatatypeConfigurationException | IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
@@ -336,7 +353,7 @@ public class OAIPMHImpl implements OAIPMHProducer {
    */
   public OAIPMHtype listIdentifiersRequest(OAIPMHtype oaipmhRoot, RequestType request)
       throws ParseException {
-    IDIOMImages imm = new IDIOMImages();
+
     // Check request first.
     ErrorHandler requestErrors = IdentifierListDelivererAbstract.requestChecker(request);
     if (requestErrors.getError().getValue() != null) {
@@ -380,11 +397,12 @@ public class OAIPMHImpl implements OAIPMHProducer {
         // Token is from IDIOMImages request.
         else if (IDIOMImages.getCursorCollector() != null
             && IDIOMImages.getCursorCollector().containsKey(request.getResumptionToken())) {
-          idListDeliv = imm;
-          imm.setKindID("1");
-          imm.setPerPage("100");
-          imm.setPageNumber(
+          // TODO Make configurable in config file??
+          this.idiomImages.setKindID("1");
+          this.idiomImages.setPerPage("100");
+          this.idiomImages.setPageNumber(
               Integer.toString(IDIOMImages.getCursorCollector().get(request.getResumptionToken())));
+          idListDeliv = this.idiomImages;
         }
         // We have got an invalid resumptionToken here!
         else {
@@ -527,8 +545,6 @@ public class OAIPMHImpl implements OAIPMHProducer {
   public OAIPMHtype listRecordsRequest(OAIPMHtype oaipmhRoot, RequestType request)
       throws ParseException, IOException {
 
-    IDIOMImages imm = new IDIOMImages();
-
     // Check request first.
     ErrorHandler requestErrors = RecordListDelivererAbstract.requestChecker(request);
     if (requestErrors.getError().getCode() != null) {
@@ -572,14 +588,15 @@ public class OAIPMHImpl implements OAIPMHProducer {
                 .containsKey(request.getResumptionToken())) {
           recListDeliv = this.recordListDATACITE;
         }
-        // Token is from DATACITE request.
+        // Token is from IDIOMImages request.
         else if (IDIOMImages.getCursorCollector() != null
             && IDIOMImages.getCursorCollector().containsKey(request.getResumptionToken())) {
-          imm.setKindID("1");
-          imm.setPerPage("100");
-          imm.setPageNumber(
+          // TODO Make configurable in config file??
+          this.idiomImages.setKindID("1");
+          this.idiomImages.setPerPage("100");
+          this.idiomImages.setPageNumber(
               Integer.toString(IDIOMImages.getCursorCollector().get(request.getResumptionToken())));
-          recListDeliv = imm;
+          recListDeliv = this.idiomImages;
         }
         // We have got an invalid resumptionToken here!
         else {
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtilities.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtilities.java
index 93f64885802be24c267e83b598698c61d08e2c7d..aea29bc2447b377524d1ad807233e3a50f28f6ec 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtilities.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHUtilities.java
@@ -652,6 +652,26 @@ public class OAIPMHUtilities {
     return result;
   }
 
+  /**
+   * @param theSID
+   * @return
+   */
+  public static String hideSID(String theSID) {
+
+    String result = "(null or empty)";
+
+    if (theSID != null && !theSID.isEmpty()) {
+      int size = theSID.length();
+      if (size < 5) {
+        result = "(sid existing and too short)";
+      } else {
+        result = theSID.substring(0, 4) + "...";
+      }
+    }
+
+    return result;
+  }
+
   // **
   // GETTERS & SETTERS
   // **
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 c14907b472c8a5dbfcce0acd8ed814c4a30bb048..267615b43353f23f6520bad34a4a86213e25d507 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIDIOM.java
@@ -24,7 +24,7 @@ import info.textgrid.middleware.oaipmh.RecordType;
 /**
  * @author Maximilian Brodhun, SUB Göttingen
  * @author Stefan E. Funk, SUB Göttingen
- * @version 2022-09-19
+ * @version 2022-09-20
  * @since 2019-03-12
  */
 @Component
@@ -34,6 +34,8 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
 
   private String dateOfLastObjectModification;
   private String objectType;
+  private String idiomRbacSessionID;
+  private String idiomTgcrudEndpoint;
 
   RecordType record = new RecordType();
 
@@ -115,10 +117,10 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
 
     log.fine("object type is: " + this.getObjectType());
 
-    if (this.getObjectType().equals("ARTEFACT")) {
+    log.fine(this.getObjectType() + " doc/dom: " + this.dateOfObjectCreation + "/"
+        + this.dateOfLastObjectModification);
 
-      log.fine("artefact doc/dom: " + this.dateOfObjectCreation + "/"
-          + this.dateOfLastObjectModification);
+    if (this.getObjectType().equals("ARTEFACT")) {
 
       try {
         ClassicMayanMetsMods metsmods = new ClassicMayanMetsMods(
@@ -136,9 +138,13 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
         // TODO Auto-generated catch block
         e.printStackTrace();
       }
-    } else if (this.getObjectType().startsWith("ConedaKorMediumData")) {
+    }
+
+    else if (this.getObjectType().startsWith("ConedaKorMediumData")) {
+
+      IDIOMImages idiomImages = new IDIOMImages(this.idiomTgcrudEndpoint, this.idiomRbacSessionID);
+      GetRecordType idi = idiomImages.getRecordById(id);
 
-      GetRecordType idi = new IDIOMImages().getRecordById(id);
       // Fixes #64
       if (idi != null) {
         this.record = idi.getRecord();
@@ -218,4 +224,32 @@ public class RecordDelivererIDIOM extends RecordDelivererAbstract {
     this.objectType = objectType;
   }
 
+  /**
+   * @return
+   */
+  public String getIdiomRbacSessionID() {
+    return this.idiomRbacSessionID;
+  }
+
+  /**
+   * @param idiomRbacSessionID
+   */
+  public void setIdiomRbacSessionID(String idiomRbacSessionID) {
+    this.idiomRbacSessionID = idiomRbacSessionID;
+  }
+
+  /**
+   * @return
+   */
+  public String getIdiomTgcrudEndpoint() {
+    return this.idiomTgcrudEndpoint;
+  }
+
+  /**
+   * @param idiomTgcrudEndpoint
+   */
+  public void setIdiomTgcrudEndpoint(String idiomTgcrudEndpoint) {
+    this.idiomTgcrudEndpoint = idiomTgcrudEndpoint;
+  }
+
 }
diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestClassicMayanOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestClassicMayanOnline.java
index 542d6ab9543e1f359d0ea7e1074c1bb30c1c598e..69183affa62bf2e07d889b0e5bcfc24cd0d725dc 100644
--- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestClassicMayanOnline.java
+++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestClassicMayanOnline.java
@@ -36,9 +36,7 @@ public class TestClassicMayanOnline {
   public void testGetRecord() throws JSONException, IOException, SAXException, ParseException,
       TransformerFactoryConfigurationError, TransformerException {
 
-    IDIOMImages imageList = new IDIOMImages();
-    // Set session ID here?
-    // imageList.setIdiomRbacSessionID("***");
+    IDIOMImages imageList = new IDIOMImages("idiomTgcrudEndpoint", "idiomRbacSessionID");
     Document document;
 
     try {
@@ -64,7 +62,7 @@ public class TestClassicMayanOnline {
   public void testGetMediaList() throws JSONException, IOException, ParseException, SAXException,
       TransformerFactoryConfigurationError, TransformerException {
 
-    IDIOMImages imageList = new IDIOMImages();
+    IDIOMImages imageList = new IDIOMImages("idiomTgcrudEndpoint", "idiomRbacSessionID");
 
     imageList.setKindID("1");
     imageList.setPerPage("100");
@@ -95,7 +93,7 @@ public class TestClassicMayanOnline {
       TransformerFactoryConfigurationError, TransformerException {
 
     // OAIPMHtype request = new OAIPMHtype();
-    IDIOMImages imageList = new IDIOMImages();
+    IDIOMImages imageList = new IDIOMImages("idiomTgcrudEndpoint", "idiomRbacSessionID");
 
     imageList.setKindID("1");
     imageList.setPerPage("100");
diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java
index a21b993da3cee94175a24721cf0a14caeaed0978..281855053b5052eea53b7acc699779751153656d 100644
--- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java
+++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java
@@ -32,7 +32,7 @@ import info.textgrid.middleware.test.online.OAIPMHUtilitiesOnline;
  * @version 2022-09-19
  * @since 2022-09-08
  */
-@Ignore
+//@Ignore
 public class TestTGGetRecordOnline {
 
   // **
diff --git a/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml b/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml
index c0c077e42da1c24b26a761aa46056221a16bb844..ebc3ee066f9a44883d5be44639b31d8ea3fc044d 100644
--- a/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml
+++ b/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml
@@ -90,10 +90,10 @@
 
 	<bean id="IDIOMImages"
 		class="info.textgrid.middleware.IDIOMImages">
-		<property name="idiomRbacSessionID"
-			value="${idiomRbacSessionID}" />
 		<property name="idiomTgcrudEndpoint"
 			value="${idiomTgcrudEndpoint}" />
+		<property name="idiomRbacSessionID"
+			value="${idiomRbacSessionID}" />
 	</bean>
 
 	<!-- Bean for verb=Identify -->
@@ -192,6 +192,11 @@
 
 		<property name="oaiEsClient"
 			ref="NonpublicElasticSearchClient" />
+
+		<property name="idiomTgcrudEndpoint"
+			value="${idiomTgcrudEndpoint}" />
+		<property name="idiomRbacSessionID"
+			value="${idiomRbacSessionID}" />
 	</bean>
 
 	<bean id="RecordDATACITE"