diff --git a/include/caosdb/logging.h b/include/caosdb/logging.h
index 1524b0d424f188acdb51c797b68f73bfab4087f5..d785e7a237c6c62abf5b307c2bd9b8d1242b48eb 100644
--- a/include/caosdb/logging.h
+++ b/include/caosdb/logging.h
@@ -23,12 +23,12 @@
 #ifndef CAOSDB_LOGGING_H
 #define CAOSDB_LOGGING_H
 
-#include "caosdb/log_level.h"                            // for CAOSDB_LOG_...
+#include "caosdb/log_level.h" // for CAOSDB_LOG_...
 #include <cstdint>            // for uint64_t
-#include <iosfwd>                                        // for streamsize
-#include <memory>                                        // for shared_ptr
-#include <string>                                        // for string
-#include <vector>                                        // for vector
+#include <iosfwd>             // for streamsize
+#include <memory>             // for shared_ptr
+#include <string>             // for string
+#include <vector>             // for vector
 
 namespace caosdb::logging {
 
@@ -64,12 +64,10 @@ class TraceEnterLeaveLogger {
 public:
   inline TraceEnterLeaveLogger(const std::string &channel, const std::string &function_name)
     : channel(channel), function_name(function_name) {
-    BOOST_LOG_CHANNEL_SEV(caosdb::logging::logger::get(), this->channel, CAOSDB_LOG_LEVEL_TRACE)
-      << "Enter " << this->function_name;
+    caosdb::logging::LoggerOutputStream::get(this->channel, CAOSDB_LOG_LEVEL_TRACE) << "Enter " << this->function_name;
   }
   inline ~TraceEnterLeaveLogger() {
-    BOOST_LOG_CHANNEL_SEV(caosdb::logging::logger::get(), this->channel, CAOSDB_LOG_LEVEL_TRACE)
-      << "Leave " << this->function_name;
+    caosdb::logging::LoggerOutputStream::get(this->channel, CAOSDB_LOG_LEVEL_TRACE) << "Leave " << this->function_name;
   }
 
 private:
diff --git a/include/caosdb/transaction.h b/include/caosdb/transaction.h
index ddb3f271d4b9b5643e62a6a7b58b9b8f39496377..f0732e86a8faf55763632ec0114b1311b8f67648 100644
--- a/include/caosdb/transaction.h
+++ b/include/caosdb/transaction.h
@@ -21,23 +21,23 @@
 #ifndef CAOSDB_TRANSACTION_H
 #define CAOSDB_TRANSACTION_H
 
-#include "caosdb/entity.h"                            // for Entity, FileDe...
+#include "caosdb/entity.h"                        // for Entity, FileDe...
 #include "caosdb/entity/v1/main.grpc.pb.h"        // for EntityTransact...
 #include "caosdb/entity/v1/main.pb.h"             // for MultiTransacti...
 #include "caosdb/file_descriptor.h"               // for FileDescriptor
-#include "caosdb/handler_interface.h"                 // for HandlerInterface
-#include "caosdb/transaction_handler.h"               // for EntityTransactionHandler
-#include "caosdb/logging.h"                           // for CAOSDB_LOG_ERR...
-#include "caosdb/protobuf_helper.h"                   // for get_arena
-#include "caosdb/status_code.h"                       // for StatusCode
-#include "caosdb/transaction_status.h"                // for StatusCode
-#include <algorithm>                                  // for max
-#include <future>                                     // for async, future
-#include <google/protobuf/arena.h>                    // for Arena
-#include <google/protobuf/util/json_util.h>           // for MessageToJsonS...
-#include <grpcpp/impl/codegen/completion_queue.h>     // for CompletionQueue
-#include <iterator>                                   // for iterator, next
-#include <map>                                        // for map
+#include "caosdb/handler_interface.h"             // for HandlerInterface
+#include "caosdb/transaction_handler.h"           // for EntityTransactionHandler
+#include "caosdb/logging.h"                       // for CAOSDB_LOG_ERR...
+#include "caosdb/protobuf_helper.h"               // for get_arena
+#include "caosdb/status_code.h"                   // for StatusCode
+#include "caosdb/transaction_status.h"            // for StatusCode
+#include <algorithm>                              // for max
+#include <future>                                 // for async, future
+#include <google/protobuf/arena.h>                // for Arena
+#include <google/protobuf/util/json_util.h>       // for MessageToJsonS...
+#include <grpcpp/impl/codegen/completion_queue.h> // for CompletionQueue
+#include <iterator>                               // for iterator, next
+#include <map>                                    // for map
 // IWYU pragma: no_include <ext/alloc_traits.h>
 #include <memory>  // for unique_ptr
 #include <mutex>   // for mutex
@@ -180,6 +180,7 @@ using caosdb::entity::v1::MultiTransactionResponse;
 using caosdb::entity::v1::RegisterFileUploadRequest;
 using caosdb::entity::v1::RegisterFileUploadResponse;
 using caosdb::transaction::TransactionStatus;
+using RetrieveResponse = caosdb::entity::v1::RetrieveResponse;
 using TransactionResponseCase = caosdb::entity::v1::TransactionResponse::TransactionResponseCase;
 using caosdb::utility::get_arena;
 using google::protobuf::Arena;
diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index 14cc40cb8e1d07d18ce648cb72d10412b579ff22..f86285bba81763a467e29966dc35703faf75c469 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -32,7 +32,7 @@
 // IWYU pragma: no_include <bits/exception.h>
 // IWYU pragma: no_include <cxxabi.h>
 #include <exception>                                // IWYU pragma: keep
-#include <filesystem>                             // for operator<<, path
+#include <filesystem>                               // for operator<<, path
 #include <future>                                   // for async, future
 #include <google/protobuf/arena.h>                  // for Arena
 #include <google/protobuf/generated_message_util.h> // for CreateMessage...
@@ -41,7 +41,7 @@
 #include <iosfwd>                                   // for streamsize
 #include <map>                                      // for map, operator!=
 #include <memory>                                   // for unique_ptr
-#include <random>                                 // for mt19937, rand...
+#include <random>                                   // for mt19937, rand...
 #include <system_error>                             // for std::system_error
 #include <utility>                                  // for move, pair