diff --git a/native/cpp/CommonCpp/CMakeLists.txt b/native/cpp/CommonCpp/CMakeLists.txt
--- a/native/cpp/CommonCpp/CMakeLists.txt
+++ b/native/cpp/CommonCpp/CMakeLists.txt
@@ -9,6 +9,7 @@
 add_subdirectory(grpc)
 add_subdirectory(NativeModules)
 add_subdirectory(CryptoTools)
+add_subdirectory(DatabaseManagers)
 
 target_link_libraries(client
   comm-modules-internal
@@ -24,3 +25,6 @@
   comm-tools
   )
 
+target_link_libraries(comm-databasemanagers
+  comm-cryptotools
+  )
diff --git a/native/cpp/CommonCpp/DatabaseManagers/CMakeLists.txt b/native/cpp/CommonCpp/DatabaseManagers/CMakeLists.txt
new file mode 100644
--- /dev/null
+++ b/native/cpp/CommonCpp/DatabaseManagers/CMakeLists.txt
@@ -0,0 +1,56 @@
+project(comm-databasemanagers)
+cmake_minimum_required(VERSION 3.4)
+
+include(GNUInstallDirs)
+
+set(DBM_HDRS
+  "include/comm/DatabaseManagers/DatabaseManager.h"
+  "include/comm/DatabaseManagers/DatabaseQueryExecutor.h"
+  "include/comm/DatabaseManagers/SQLiteQueryExecutor.h"
+  "include/comm/DatabaseManagers/entities/Draft.h"
+  "include/comm/DatabaseManagers/entities/Media.h"
+  "include/comm/DatabaseManagers/entities/Message.h"
+  "include/comm/DatabaseManagers/entities/Metadata.h"
+  "include/comm/DatabaseManagers/entities/OlmPersistAccount.h"
+  "include/comm/DatabaseManagers/entities/OlmPersistSession.h"
+  "include/comm/DatabaseManagers/entities/Thread.h"
+  )
+
+set(DBM_SRCS
+  "src/SQLiteQueryExecutor.cpp"
+  )
+
+add_library(comm-databasemanagers
+  ${DBM_HDRS}
+  ${DBM_SRCS}
+)
+
+# reference local directory when building, use installation path when installing
+target_include_directories(comm-databasemanagers
+  PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+  PRIVATE
+  # HACK
+  "../../../node_modules/react-native/ReactCommon/jsi"
+)
+
+install(TARGETS comm-databasemanagers EXPORT comm-databasemanagers-export
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT comm-databasemanagers
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT comm-databasemanagers
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT comm-databasemanagers
+)
+
+install(FILES ${TOOLS_HDRS} DESTINATION include/comm/DatabaseManagers)
+
+# For development purposes, can point cmake to this directory if doing development
+export(TARGETS comm-databasemanagers
+  NAMESPACE comm-databasemanagers::
+  FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/comm-tools/comm-databasemanagers-targets.cmake
+)
+
+# For installation
+install(EXPORT comm-databasemanagers-export
+  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/comm-databasemanagers
+  NAMESPACE comm-tools::
+)
diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/DatabaseManager.h
rename from native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/DatabaseManager.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/DatabaseQueryExecutor.h
rename from native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/DatabaseQueryExecutor.h
--- a/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h
+++ b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/DatabaseQueryExecutor.h
@@ -1,12 +1,12 @@
 #pragma once
 
-#include "../CryptoTools/Persist.h"
-#include "entities/Draft.h"
-#include "entities/Media.h"
-#include "entities/Message.h"
-#include "entities/OlmPersistAccount.h"
-#include "entities/OlmPersistSession.h"
-#include "entities/Thread.h"
+#include <comm/CryptoTools/Persist.h>
+#include <comm/DatabaseManagers/entities/Draft.h>
+#include <comm/DatabaseManagers/entities/Media.h>
+#include <comm/DatabaseManagers/entities/Message.h>
+#include <comm/DatabaseManagers/entities/OlmPersistAccount.h>
+#include <comm/DatabaseManagers/entities/OlmPersistSession.h>
+#include <comm/DatabaseManagers/entities/Thread.h>
 
 #include <folly/Optional.h>
 
diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/SQLiteQueryExecutor.h
rename from native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/SQLiteQueryExecutor.h
--- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h
+++ b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/SQLiteQueryExecutor.h
@@ -1,8 +1,8 @@
 #pragma once
 
-#include "../CryptoTools/Persist.h"
-#include "DatabaseQueryExecutor.h"
-#include "entities/Draft.h"
+#include <comm/CryptoTools/Persist.h>
+#include <comm/DatabaseManagers/DatabaseQueryExecutor.h>
+#include <comm/DatabaseManagers/entities/Draft.h>
 
 #include <mutex>
 #include <string>
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Draft.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Draft.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/Draft.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Draft.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Media.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Media.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/Media.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Media.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Message.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Message.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/Message.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Message.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Metadata.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Metadata.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/Metadata.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Metadata.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/OlmPersistAccount.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/OlmPersistAccount.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/OlmPersistAccount.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/OlmPersistAccount.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/OlmPersistSession.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/OlmPersistSession.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/OlmPersistSession.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/OlmPersistSession.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Thread.h b/native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Thread.h
rename from native/cpp/CommonCpp/DatabaseManagers/entities/Thread.h
rename to native/cpp/CommonCpp/DatabaseManagers/include/comm/DatabaseManagers/entities/Thread.h
diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp b/native/cpp/CommonCpp/DatabaseManagers/src/SQLiteQueryExecutor.cpp
rename from native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp
rename to native/cpp/CommonCpp/DatabaseManagers/src/SQLiteQueryExecutor.cpp
--- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp
+++ b/native/cpp/CommonCpp/DatabaseManagers/src/SQLiteQueryExecutor.cpp
@@ -1,10 +1,10 @@
-#include "SQLiteQueryExecutor.h"
-#include "CommSecureStore.h"
-#include "Logger.h"
-#include "sqlite_orm.h"
+#include <comm/DatabaseManagers/SQLiteQueryExecutor.h>
+#include <comm/Tools/CommSecureStore.h>
+#include <comm/Tools/Logger.h>
+#include <sqlite_orm.h>
 
-#include "entities/Media.h"
-#include "entities/Metadata.h"
+#include <comm/DatabaseManagers/entities/Media.h>
+#include <comm/DatabaseManagers/entities/Metadata.h>
 #include <sqlite3.h>
 #include <cerrno>
 #include <cstdio>