diff --git a/include/linkahead/configuration.h b/include/linkahead/configuration.h
index 06754cf5f2006e03774486325b15e41c2131d114..a25727db4713fca91e3468d66244bebfb8da4c8d 100644
--- a/include/linkahead/configuration.h
+++ b/include/linkahead/configuration.h
@@ -103,10 +103,8 @@ public:
  */
 class ConfigurationManager {
 public:
-  static ConfigurationManager &GetInstance() {
-    static ConfigurationManager instance;
-    return instance;
-  };
+  static ConfigurationManager &GetInstance();
+  ;
 
   /**
    * See mReset.
@@ -156,6 +154,7 @@ public:
 private:
   Arena arena;
   JsonValue json_configuration;
+  static ConfigurationManager mInstance;
 
   inline ConfigurationManager()
     : json_configuration(nullptr){
diff --git a/include/linkahead/connection.h b/include/linkahead/connection.h
index 844f46a0e5f40488bed6f2ff045a9c2c218e8fe6..97fdcd97f28d5a5e0ab3fa8347afcede425d153d 100644
--- a/include/linkahead/connection.h
+++ b/include/linkahead/connection.h
@@ -170,6 +170,9 @@ class ConnectionManager {
 private:
   mutable std::map<std::string, std::shared_ptr<Connection>> connections;
   mutable std::string default_connection_name;
+
+  static ConnectionManager mInstance;
+
   inline ConnectionManager(){};
 
   auto mHasConnection(const std::string &name) const -> bool;
@@ -184,10 +187,7 @@ private:
   }
 
 public:
-  static ConnectionManager &GetInstance() {
-    static ConnectionManager instance;
-    return instance;
-  };
+  static ConnectionManager &GetInstance();
 
   inline static auto HasConnection(const std::string &name) -> bool {
     return ConnectionManager::GetInstance().mHasConnection(name);
diff --git a/src/linkahead/configuration.cpp b/src/linkahead/configuration.cpp
index 8db1f791960eaab01c17052a7f989fc7123aa726..1c60cfe4c9154a8e2077bd9f08bfdd348483f647 100644
--- a/src/linkahead/configuration.cpp
+++ b/src/linkahead/configuration.cpp
@@ -70,6 +70,9 @@
   }
 
 namespace linkahead::configuration {
+
+ConfigurationManager ConfigurationManager::mInstance;
+
 using boost::json::object;
 using boost::json::value;
 using grpc::InsecureChannelCredentials;
@@ -424,6 +427,8 @@ auto ConfigurationManager::mGetDefaultConnectionName() const -> std::string {
   throw ConfigurationError("Could not determine the default connection.");
 }
 
+ConfigurationManager &ConfigurationManager::GetInstance() { return mInstance; }
+
 // TODO(tf) This has apparently a cognitive complexity of 34>25 (threshold).
 auto ConfigurationManager::InitializeDefaults() -> int { // NOLINT
 
diff --git a/src/linkahead/connection.cpp b/src/linkahead/connection.cpp
index 91d5a0c2208cd2c7cfd4b57743cfe1aca7ac257d..bff799b093741b81b90417446b3dc8ccf37916d4 100644
--- a/src/linkahead/connection.cpp
+++ b/src/linkahead/connection.cpp
@@ -66,6 +66,13 @@ using linkahead::info::VersionInfo;
 using linkahead::transaction::Transaction;
 using linkahead::transaction::TransactionStatus;
 
+
+ConnectionManager ConnectionManager::mInstance;
+
+ConnectionManager &ConnectionManager::GetInstance() {
+  return mInstance;
+}
+
 Connection::Connection(const ConnectionConfiguration &configuration) {
   const std::string target =
     configuration.GetHost() + ":" + std::to_string(configuration.GetPort());
diff --git a/test/test_clinkahead.cpp b/test/test_clinkahead.cpp
index ef6c06459d92c9552c8b37f10984d459c7a4593c..25e83fe9da32a440ea2c675ee6b5c9bd08e9894a 100644
--- a/test/test_clinkahead.cpp
+++ b/test/test_clinkahead.cpp
@@ -44,8 +44,9 @@ protected:
 };
 
 TEST_F(test_clinkahead, test_get_env_fallback) {
-  const char *const some_var = linkahead_utility_get_env_fallback("SOME_ENV_VAR", "fall-back");
-  EXPECT_EQ("fall-back", some_var);
+  constexpr auto fall_back = "fall-back";
+  const char *const some_var = linkahead_utility_get_env_fallback("SOME_ENV_VAR", fall_back);
+  EXPECT_EQ(fall_back, some_var);
 }
 
 TEST_F(test_clinkahead, test_other_client_error) {
diff --git a/test/test_file_transmission.cpp b/test/test_file_transmission.cpp
index b91918c094644f2432bb12ae6dd058b03b093101..b337a2450f49460a89092b66ad8d2ed9e8ff97b8 100644
--- a/test/test_file_transmission.cpp
+++ b/test/test_file_transmission.cpp
@@ -43,18 +43,22 @@ protected:
 TEST_F(test_file_transmission, test_file_writer_reader) {
   ASSERT_FALSE(fs::exists(test_file_name));
 
-  FileWriter writer(test_file_name);
-  std::string buffer_out(1024, 'c');
-  for (int i = 0; i < 8; i++) {
-    writer.write(buffer_out);
-    EXPECT_EQ(fs::file_size(test_file_name), 1024 * (i + 1));
+  {
+    FileWriter writer(test_file_name);
+    std::string buffer_out(1024, 'c');
+    for (int i = 0; i < 8; i++) {
+      writer.write(buffer_out);      
+    }
   }
-
-  FileReader reader(test_file_name);
-  std::string buffer_in(1024, '\0');
-  for (int i = 0; i < 8; i++) {
-    reader.read(buffer_in);
-    EXPECT_EQ(buffer_in, std::string(1024, 'c'));
+  EXPECT_EQ(fs::file_size(test_file_name), 1024 * 8);
+  
+  {
+    FileReader reader(test_file_name);
+    std::string buffer_in(1024, '\0');
+    for (int i = 0; i < 8; i++) {
+      reader.read(buffer_in);
+      EXPECT_EQ(buffer_in, std::string(1024, 'c'));
+    }
   }
 }