diff --git a/source/RobotAPI/libraries/armem/client/Reader.cpp b/source/RobotAPI/libraries/armem/client/Reader.cpp
index 48efb7bb961e910356890028b566b321eec9ce91..55483dce067e47d6156e244ee5a353a32de1e431 100644
--- a/source/RobotAPI/libraries/armem/client/Reader.cpp
+++ b/source/RobotAPI/libraries/armem/client/Reader.cpp
@@ -428,7 +428,11 @@ namespace armarx::armem::client
         server::RecordingMemoryInterfacePrx storingMemoryPrx = server::RecordingMemoryInterfacePrx::checkedCast(readingPrx);
         if (storingMemoryPrx)
         {
-            server::dto::StartRecordInput i; // WHAT TO PUT HERE?
+            server::dto::StartRecordInput i;
+            i.executionTime = armarx::core::time::dto::DateTime();
+            i.recordingID = "";
+            i.configuration.clear();
+
             storingMemoryPrx->startRecord(i);
             return;
         }
diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
index 6aa17f4ce8cd20b40b96e77ccd3f83659d6a4c18..8f37824ff7ff96a8280813247bb17290ae48582b 100644
--- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
+++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp
@@ -381,7 +381,7 @@ namespace armarx::armem::server
         ARMARX_TRACE;
         ARMARX_CHECK_NOT_NULL(longtermMemory);
         ARMARX_IMPORTANT << "Enabling the recording of memory " << longtermMemory->id().str();
-        longtermMemory->startRecording();
+        longtermMemory->startRecording(); // TODO: config and execution time!
 
         dto::StartRecordResult ret;
         ret.success = true;
diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
index 699a41d01deb04d6658a42fe2100b1a7503fde86..8623bf6c0edad496096e9c4cde10addf50b8da68 100644
--- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
+++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp
@@ -256,7 +256,7 @@ namespace armarx::armem::gui
     const armem::wm::Memory*
     MemoryViewer::getSingleMemoryData(const std::string& memoryName)
     {
-        std::scoped_lock l(memoryDataMutex);
+        //std::scoped_lock l(memoryDataMutex);
         auto it = memoryData.find(memoryName);
         if (it == memoryData.end())
         {
@@ -313,7 +313,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::startLTMRecording()
     {
-        std::scoped_lock l(memoryReaderMutex);
+        //std::scoped_lock l(memoryReaderMutex);
 
         TIMING_START(MemoryStartRecording);
 
@@ -334,7 +334,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::stopLTMRecording()
     {
-        std::scoped_lock l(memoryReaderMutex);
+        //std::scoped_lock l(memoryReaderMutex);
 
         TIMING_START(MemoryStopRecording);
 
@@ -354,7 +354,7 @@ namespace armarx::armem::gui
 
     void MemoryViewer::commit()
     {
-        std::scoped_lock l(memoryWriterMutex);
+        //std::scoped_lock l(memoryWriterMutex);
 
         TIMING_START(Commit);
         auto now = armem::Time::Now();
@@ -401,7 +401,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::storeOnDisk(QString directory)
     {
-        std::scoped_lock l(memoryDataMutex);
+        //std::scoped_lock l(memoryDataMutex);
         TIMING_START(MemoryExport)
 
         std::string status;
@@ -415,7 +415,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::loadFromDisk(QString directory)
     {
-        std::scoped_lock l(memoryWriterMutex);
+        //std::scoped_lock l(memoryWriterMutex);
 
         std::string status;
         std::map<std::string, wm::Memory> data =
@@ -481,8 +481,8 @@ namespace armarx::armem::gui
     void
     MemoryViewer::startDueQueries()
     {
-        std::scoped_lock l(memoryReaderMutex);
-        std::scoped_lock l2(runningQueriesMutex);
+        //std::scoped_lock l(memoryReaderMutex);
+        //std::scoped_lock l2(runningQueriesMutex);
 
         armem::client::QueryInput input = memoryGroup->queryInput();
         int recursionDepth = memoryGroup->queryWidget()->queryLinkRecursionDepth();
@@ -524,8 +524,8 @@ namespace armarx::armem::gui
     std::map<std::string, client::QueryResult>
     MemoryViewer::collectQueryResults()
     {
-        std::scoped_lock l(memoryReaderMutex);
-        std::scoped_lock l2(runningQueriesMutex);
+        //std::scoped_lock l(memoryReaderMutex);
+        //std::scoped_lock l2(runningQueriesMutex);
 
         TIMING_START(tCollectQueryResults)
 
@@ -578,7 +578,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::applyQueryResults(const std::map<std::string, client::QueryResult>& results, int* outErrorCount)
     {
-        std::scoped_lock l(memoryDataMutex);
+        //std::scoped_lock l(memoryDataMutex);
         TIMING_START(tProcessQueryResults)
         for (const auto& [name, result] : results)
         {
@@ -649,7 +649,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::updateInstanceTree(const armem::MemoryID& selectedID)
     {
-        std::scoped_lock l(memoryDataMutex);
+        //std::scoped_lock l(memoryDataMutex);
         const armem::wm::Memory* data = getSingleMemoryData(selectedID.memoryName);
         if (data)
         {
@@ -701,7 +701,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::resolveMemoryID(const MemoryID& id)
     {
-        std::scoped_lock l(memoryDataMutex);
+        //std::scoped_lock l(memoryDataMutex);
         // ARMARX_IMPORTANT << "Resolving memory ID: " << id;
 
         auto handleError = [this](const std::string& msg)
@@ -806,7 +806,7 @@ namespace armarx::armem::gui
     void
     MemoryViewer::updateMemoryTree()
     {
-        std::scoped_lock l(memoryDataMutex);
+        //std::scoped_lock l(memoryDataMutex);
         std::map<std::string, const armem::wm::Memory*> convMap;
         for (auto& [name, data] : memoryData)
         {
@@ -945,7 +945,7 @@ namespace armarx::armem::gui
                                  const armarx::DateTime& timestamp,
                                  const std::string& engineID)
     {
-        std::scoped_lock l(memoryReaderMutex);
+        //std::scoped_lock l(memoryReaderMutex);
 
         std::stringstream errorStream;
         auto showError = [this, &errorStream]()