diff --git a/Reconstruction/CMakeLists.txt b/Reconstruction/CMakeLists.txt
index 99fdf3f7920e4b88dcd584dcead437d11c679bee..293eaa3036e376b77c6e28f266eb7522a4d34bea 100644
--- a/Reconstruction/CMakeLists.txt
+++ b/Reconstruction/CMakeLists.txt
@@ -2,4 +2,4 @@ add_subdirectory(DCHDedx)
 add_subdirectory(Digi_Calo)
 # add_subdirectory(PFA)
 add_subdirectory(SiliconTracking)
-# add_subdirectory(Tracking)
+add_subdirectory(Tracking)
diff --git a/Reconstruction/SiliconTracking/CMakeLists.txt b/Reconstruction/SiliconTracking/CMakeLists.txt
index 1f35407ba6173b173396978278445247e4d01ca9..7dd051800d8674575671788d28353e2298e6f720 100644
--- a/Reconstruction/SiliconTracking/CMakeLists.txt
+++ b/Reconstruction/SiliconTracking/CMakeLists.txt
@@ -23,3 +23,8 @@ gaudi_add_module(SiliconTracking
                       ${GSL_LIBRARIES} 
                       ${LCIO_LIBRARIES} 
 )
+install(TARGETS SiliconTracking
+  EXPORT CEPCSWTargets
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
+  COMPONENT dev)
diff --git a/Reconstruction/Tracking/CMakeLists.txt b/Reconstruction/Tracking/CMakeLists.txt
index 166add75f15af42d8d3bdb8ee087fc3553108192..b60bca6ad8f5e55175dc4cfe516a3074b7ae09dc 100644
--- a/Reconstruction/Tracking/CMakeLists.txt
+++ b/Reconstruction/Tracking/CMakeLists.txt
@@ -1,4 +1,3 @@
-gaudi_subdir(Tracking v0r0)
 
 find_package(GEAR REQUIRED)
 find_package(GSL REQUIRED ) 
@@ -6,26 +5,31 @@ find_package(LCIO REQUIRED )
 find_package(EDM4HEP REQUIRED ) 
 find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED)
 
-
-gaudi_depends_on_subdirs(
-    Service/GearSvc
-    Service/EventSeeder
-    Service/TrackSystemSvc
-    Detector/DetSegmentation
+# Modules
+gaudi_add_module(Tracking
+                 SOURCES src/Clupatra/ClupatraAlg.cpp
+                         src/Clupatra/clupatra_new.cpp
+                         src/FullLDCTracking/FullLDCTrackingAlg.cpp
+                         src/TruthTracker/TruthTrackerAlg.cpp
+                 LINK GearSvc
+                      EventSeeder
+                      TrackSystemSvcLib
+                      DetSegmentation
+                      Gaudi::GaudiAlgLib
+                      Gaudi::GaudiKernel
+                      ${GEAR_LIBRARIES}
+                      ${GSL_LIBRARIES}
+                      ${LCIO_LIBRARIES}
+                      DetSegmentation
+                      EDM4HEP::edm4hep EDM4HEP::edm4hepDict
 )
 
-set(Tracking_srcs
-    src/Clupatra/*.cpp
-    src/FullLDCTracking/*.cpp
-    src/TruthTracker/*.cpp
-)
+target_include_directories(Tracking PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>/include
+  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
-# Modules
-gaudi_add_module(Tracking ${Tracking_srcs}
-    INCLUDE_DIRS GaudiKernel gear ${GSL_INCLUDE_DIRS} ${LCIO_INCLUDE_DIRS}
-    LINK_LIBRARIES GaudiAlgLib GaudiKernel ${GEAR_LIBRARIES} ${GSL_LIBRARIES} ${LCIO_LIBRARIES} TrackSystemSvcLib
-    DetSegmentation
-      -Wl,--no-as-needed
-     EDM4HEP::edm4hep EDM4HEP::edm4hepDict
-     -Wl,--as-needed
-)
+install(TARGETS Tracking
+  EXPORT CEPCSWTargets
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
+  COMPONENT dev)
diff --git a/Reconstruction/Tracking/Tracking/TrackingHelper.h b/Reconstruction/Tracking/include/Tracking/TrackingHelper.h
similarity index 100%
rename from Reconstruction/Tracking/Tracking/TrackingHelper.h
rename to Reconstruction/Tracking/include/Tracking/TrackingHelper.h