diff --git a/conanfile.py b/conanfile.py
index 6170fa516657f3cc89353aaff151b28b5a940d70..83c5914a2f1c8b5d3c6d85bb695f4a918a768304 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -1,3 +1,4 @@
+import os
 from conan import ConanFile
 from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain
 from conan.tools.files import copy
@@ -28,7 +29,8 @@ class CaosdbConan(ConanFile):
                "*.h", "*.proto", "*.c", "*.cpp",
                "*.rst", "*.md",
                )
-    exports_sources = "src", "doc", "include", "test", "cmake", "proto"
+
+    exports_sources = "CMakeLists.txt", "src/*", "doc/*", "include/*", "test/*", "cmake/*", "proto/*", "*.cmake"
 
     def build_requirements(self):
         self.tool_requires("protobuf/3.21.12")
@@ -75,15 +77,21 @@ class CaosdbConan(ConanFile):
         cmake = CMake(self)
         cmake.install()
 
-        copy(self, pattern="*.h", dst="include", src="include")
-        copy(self, pattern="*.dll", dst="bin", keep_path=False)
-        copy(self, pattern="*.so", dst="lib", keep_path=False)
-        copy(self, pattern="*.dylib", dst="lib", keep_path=False)
-        copy(self, pattern="*.a", dst="lib", keep_path=False)
+        copy(self, pattern="*.h",
+             dst=os.path.join(self.package_folder, "include"),
+             src=os.path.join(self.source_folder, "include"))
+        copy(self, pattern="*.dll", src=os.path.join(self.build_folder, "bin"),
+             dst=os.path.join(self.package_folder, "bin"), keep_path=False)
+        copy(self, pattern="*.so", src=os.path.join(self.build_folder, "bin"),
+             dst=os.path.join(self.package_folder, "lib"), keep_path=False)
+        copy(self, pattern="*.dylib", src=os.path.join(self.build_folder, "bin"),
+             dst=os.path.join(self.package_folder, "lib"), keep_path=False)
+        copy(self, pattern="*.a", src=os.path.join(self.build_folder, "bin"),
+             dst=os.path.join(self.package_folder, "lib"), keep_path=False)
 
     def package_info(self):
         self.cpp_info.libs = ["caosdb", "ccaosdb"]
-        self.cpp_info.requires = ["boost::headers"]
+        self.cpp_info.requires = ["boost::headers", "grpc::grpc", "protobuf::protobuf"]
 
     def validate(self):
         if self.settings.os not in ("Linux", "Windows"):
diff --git a/test_package/CMakeLists.txt b/test_package/CMakeLists.txt
index 8592bbd5e7b90fb7c95b29c24e6127e57d9f4126..41be00cd59d8252bc50285c88ba8a998c52deb79 100644
--- a/test_package/CMakeLists.txt
+++ b/test_package/CMakeLists.txt
@@ -13,6 +13,9 @@ set(test_cases
 ###################################################
 
 
+find_package(caosdb REQUIRED)
+find_package(GTest REQUIRED)
+
 # supress warnings during build of gtest
 cmake_policy(SET CMP0054 NEW)
 enable_testing()
@@ -21,21 +24,34 @@ enable_testing()
 include(GoogleTest REQUIRED)
 
 # loop over all test cases and add them to the test runner
-list(LENGTH test_cases len_test_cases)
-math(EXPR len_test_cases "${len_test_cases} - 1")
-foreach (i RANGE "${len_test_cases}")
-    list(GET test_cases ${i} test_case_name)
-    add_executable(${test_case_name} ${test_case_name}.cpp)
-    target_link_libraries(${test_case_name} PRIVATE GTest::gtest GTest::gtest_main caosdb::caosdb)
-    if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
-        target_link_libraries(${test_case_name} PRIVATE caosdb_grpc)
-    endif()
-    target_include_directories(${test_case_name} PUBLIC ${CONAN_INCLUDE_DIRS})
-    set_target_properties(${test_case_name}
-        PROPERTIES
-        CXX_CLANG_TIDY "${_CMAKE_CXX_CLANG_TIDY}"
-        CXX_INCLUDE_WHAT_YOU_USE "${_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}")
-    gtest_discover_tests(${test_case_name}
-        PROPERTIES
-            LABELS "caosdb-cpplib-int-tests")
-endforeach ()
+add_executable(test_info test_info.cpp)
+target_link_libraries(test_info PRIVATE GTest::gtest GTest::gtest_main caosdb::caosdb)
+gtest_discover_tests(test_info)
+
+# foreach(test_case ${test_cases})
+#     add_executable(${test_case} ${test_case}.cpp)
+#     target_link_libraries(${test_case} PRIVATE GTest::gtest GTest::gtest_main caosdb::caosdb)
+#     if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+#         target_link_libraries(${test_case} PRIVATE caosdb_grpc)
+#     endif()
+# endforeach()
+
+
+# list(LENGTH test_cases len_test_cases)
+# math(EXPR len_test_cases "${len_test_cases} - 1")
+# foreach (i RANGE "${len_test_cases}")
+#     list(GET test_cases ${i} test_case_name)
+#     add_executable(${test_case_name} ${test_case_name}.cpp)
+#     target_link_libraries(${test_case_name} PRIVATE GTest::gtest GTest::gtest_main caosdb::caosdb)
+#     if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+#         target_link_libraries(${test_case_name} PRIVATE caosdb_grpc)
+#     endif()
+#     target_include_directories(${test_case_name} PUBLIC ${CONAN_INCLUDE_DIRS})
+#     set_target_properties(${test_case_name}
+#         PROPERTIES
+#         CXX_CLANG_TIDY "${_CMAKE_CXX_CLANG_TIDY}"
+#         CXX_INCLUDE_WHAT_YOU_USE "${_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}")
+#     gtest_discover_tests(${test_case_name}
+#         PROPERTIES
+#             LABELS "caosdb-cpplib-int-tests")
+# endforeach ()
diff --git a/test_package/conanfile.py b/test_package/conanfile.py
index 25c91f0b4cf5156a01bbceab5344d44b68b3402d..8915ddcdaff5c67d757be9424a2cbf5dada79844 100644
--- a/test_package/conanfile.py
+++ b/test_package/conanfile.py
@@ -7,9 +7,12 @@ from conan.tools.build import cross_building
 class LibcaosdbTestConan(ConanFile):
     settings = "os", "compiler", "build_type", "arch"
 
-    build_requires = [
-        ("gtest/1.11.0"),
-    ]
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+        self.test_requires("gtest/1.11.0")
+        self.requires("grpc/1.48.4")
+        self.requires("protobuf/3.21.12")
+        self.requires("boost/1.78.0")
 
     def layout(self):
         cmake_layout(self, src_folder=".")
@@ -26,10 +29,10 @@ class LibcaosdbTestConan(ConanFile):
         cmake.configure()
         cmake.build()
 
-    def imports(self):
-        copy("*.dll", dst="bin", src="bin")
-        copy("*.dylib*", dst="bin", src="lib")
-        copy('*.so*', dst='bin', src='lib')
+    # def imports(self):
+    #     copy("*.dll", dst="bin", src="bin")
+    #     copy("*.dylib*", dst="bin", src="lib")
+    #     copy('*.so*', dst='bin', src='lib')
 
     def test(self):
         if not cross_building(self):