diff --git a/CMakeLists.txt b/CMakeLists.txt
index 736dae36633fc7747aa8287db3b95d32256be898..563aeb61d12a551e735796cafa402bca55c4a383 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,8 +20,8 @@ PROJECT(core)
 set(PLUGIN_NAME "wolf${PROJECT_NAME}")
 
 # Paths
-SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
-SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
+SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)#FIXME: is this variable necessary?
+SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)#FIXME: is this variable necessary?
 SET(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY FALSE)
 SET(LIB_INSTALL_DIR lib)
 # plugin_core is not really needed, why was it used in the first place?
@@ -431,11 +431,11 @@ endif()
 
 #Link the created libraries
 #=============================================================
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${CMAKE_THREAD_LIBS_INIT} dl)
-# TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${YAMLCPP_LIBRARY})
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} yaml-cpp)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC ${CMAKE_THREAD_LIBS_INIT} dl)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC yaml-cpp)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC Eigen3::Eigen)
 IF (Ceres_FOUND)
-    TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${CERES_LIBRARIES})
+    TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC ceres)
 ENDIF(Ceres_FOUND)
 
 #Build tests
@@ -458,6 +458,8 @@ INSTALL(TARGETS ${PLUGIN_NAME} EXPORT ${PLUGIN_NAME}Targets
   RUNTIME DESTINATION bin
   LIBRARY DESTINATION ${LIB_INSTALL_DIR}
   ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+)
+install(EXPORT ${PLUGIN_NAME}Targets DESTINATION lib/${PLUGIN_NAME}/cmake)
 
 
 # Configure the package installation
@@ -476,7 +478,7 @@ install(
 )
 
 
-install(EXPORT ${PLUGIN_NAME}Targets DESTINATION lib/cmake/${PLUGIN_NAME})
+
 #install headers
 INSTALL(FILES ${HDRS_CAPTURE}
   DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}/capture)
diff --git a/cmake_modules/wolfcoreConfig.cmake.in b/cmake_modules/wolfcoreConfig.cmake.in
index 2ddbaed54e5daa328b1b45f8581e26e68c37b9bf..166866cc4d20fcc7e101cdca75f05a5d8f39533e 100644
--- a/cmake_modules/wolfcoreConfig.cmake.in
+++ b/cmake_modules/wolfcoreConfig.cmake.in
@@ -8,4 +8,14 @@ set(@PLUGIN_NAME@_INCLUDE_DIRS @PLUGIN_NAME@_INCLUDE_DIR)
 set_and_check(@PLUGIN_NAME@_LIB_INSTALL_DIR "@PACKAGE_LIB_INSTALL_DIR@")
 set(@PLUGIN_NAME@_LIB_INSTALL_DIRS @PLUGIN_NAME@_LIB_INSTALL_DIR)
 
+# forwards the correct parameters given to FIND_DEPENDENCIES
+include(CMakeFindDependencyMacro)
+FIND_DEPENDENCY(Threads REQUIRED)
+FIND_DEPENDENCY(Ceres REQUIRED)
+FIND_DEPENDENCY(Eigen3 3.3 REQUIRED)
+FIND_DEPENDENCY(yaml-cpp REQUIRED)
+
+include("${CMAKE_CURRENT_LIST_DIR}/wolfcoreTargets.cmake")
+
+
 check_required_components(@PLUGIN_NAME@)
\ No newline at end of file