diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8720866779b05e29b2ad1968fbb55e5669e68dd4..a7e2927f3a02d755605eb1e038cc1f8d16245b16 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,7 +30,7 @@ add_subdirectory(Examples)
 add_subdirectory(Generator)
 # add_subdirectory(Reconstruction)
 add_subdirectory(Simulation)
-# add_subdirectory(Utilities)
+add_subdirectory(Utilities)
 
 ##############################################################################
 # INSTALL
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3c3a838c57d57460e47bd9c27ccb6c11e7ba8538
--- /dev/null
+++ b/Utilities/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_subdirectory(DataHelper)
+# add_subdirectory(KalDet)
+# add_subdirectory(KalTest)
+# add_subdirectory(KiTrack)
+
diff --git a/Utilities/DataHelper/CMakeLists.txt b/Utilities/DataHelper/CMakeLists.txt
index a93dc10a07a2ab5cd239c4dea1cd1ef23565cecf..06aa44f70cf4b5dc202fc3043afe97045d082968 100644
--- a/Utilities/DataHelper/CMakeLists.txt
+++ b/Utilities/DataHelper/CMakeLists.txt
@@ -1,4 +1,3 @@
-gaudi_subdir(DataHelper v0r0)
 
 find_package(CLHEP REQUIRED;CONFIG)
 find_package(EDM4HEP REQUIRED)
@@ -8,12 +7,35 @@ message("GSL INCLUDE_DIRS: ${GSL_INCLUDE_DIRS} ")
 
 # gaudi_depends_on_subdirs()
 
-set(DataHelperLib_srcs src/*.cc src/*.cpp)
+set(DataHelperLib_srcs 
+    src/CaloHitExtended.cc
+    src/Circle.cc
+    src/ClusterExtended.cc
+    src/ClusterShapes.cc
+    src/GroupTracks.cc
+    src/HelixClass.cc
+    src/LCCylinder.cc
+    src/LCLine3D.cc
+    src/LCPlane3D.cc
+    src/LineClass.cc
+    src/Navigation.cpp
+    src/SimpleHelix.cc
+    src/TrackerHitExtended.cc
+    src/TrackExtended.cc
+    src/TrackHitPair.cc)
 
 #gaudi_install_headers(DataHelper)
 
-gaudi_add_library(DataHelperLib ${DataHelperLib_srcs}
-    PUBLIC_HEADERS DataHelper
-    INCLUDE_DIRS ${CLHEP_INCLUDE_DIR} ${GSL_INCLUDE_DIRS}
-    LINK_LIBRARIES EDM4HEP::edm4hep EDM4HEP::edm4hepDict ${GSL_LIBRARIES} ${CLHEP_LIBRARIES}
+gaudi_add_library(DataHelperLib 
+                  SOURCES ${DataHelperLib_srcs}
+                  LINK EDM4HEP::edm4hep
+                       EDM4HEP::edm4hepDict
+                       ${GSL_LIBRARIES}
+                       ${CLHEP_LIBRARIES}
 )
+
+install(TARGETS DataHelperLib
+  EXPORT CEPCSWTargets
+  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT bin
+  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT shlib
+  COMPONENT dev)
diff --git a/Utilities/DataHelper/DataHelper/CaloHitExtended.h b/Utilities/DataHelper/include/DataHelper/CaloHitExtended.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/CaloHitExtended.h
rename to Utilities/DataHelper/include/DataHelper/CaloHitExtended.h
diff --git a/Utilities/DataHelper/DataHelper/Circle.h b/Utilities/DataHelper/include/DataHelper/Circle.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/Circle.h
rename to Utilities/DataHelper/include/DataHelper/Circle.h
diff --git a/Utilities/DataHelper/DataHelper/ClusterExtended.h b/Utilities/DataHelper/include/DataHelper/ClusterExtended.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/ClusterExtended.h
rename to Utilities/DataHelper/include/DataHelper/ClusterExtended.h
diff --git a/Utilities/DataHelper/DataHelper/ClusterShapes.h b/Utilities/DataHelper/include/DataHelper/ClusterShapes.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/ClusterShapes.h
rename to Utilities/DataHelper/include/DataHelper/ClusterShapes.h
diff --git a/Utilities/DataHelper/DataHelper/GroupTracks.h b/Utilities/DataHelper/include/DataHelper/GroupTracks.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/GroupTracks.h
rename to Utilities/DataHelper/include/DataHelper/GroupTracks.h
diff --git a/Utilities/DataHelper/DataHelper/HelixClass.h b/Utilities/DataHelper/include/DataHelper/HelixClass.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/HelixClass.h
rename to Utilities/DataHelper/include/DataHelper/HelixClass.h
diff --git a/Utilities/DataHelper/DataHelper/LCCylinder.h b/Utilities/DataHelper/include/DataHelper/LCCylinder.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/LCCylinder.h
rename to Utilities/DataHelper/include/DataHelper/LCCylinder.h
diff --git a/Utilities/DataHelper/DataHelper/LCGeometryTypes.h b/Utilities/DataHelper/include/DataHelper/LCGeometryTypes.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/LCGeometryTypes.h
rename to Utilities/DataHelper/include/DataHelper/LCGeometryTypes.h
diff --git a/Utilities/DataHelper/DataHelper/LCLine3D.h b/Utilities/DataHelper/include/DataHelper/LCLine3D.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/LCLine3D.h
rename to Utilities/DataHelper/include/DataHelper/LCLine3D.h
diff --git a/Utilities/DataHelper/DataHelper/LCPlane3D.h b/Utilities/DataHelper/include/DataHelper/LCPlane3D.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/LCPlane3D.h
rename to Utilities/DataHelper/include/DataHelper/LCPlane3D.h
diff --git a/Utilities/DataHelper/DataHelper/LineClass.h b/Utilities/DataHelper/include/DataHelper/LineClass.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/LineClass.h
rename to Utilities/DataHelper/include/DataHelper/LineClass.h
diff --git a/Utilities/DataHelper/DataHelper/Navigation.h b/Utilities/DataHelper/include/DataHelper/Navigation.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/Navigation.h
rename to Utilities/DataHelper/include/DataHelper/Navigation.h
diff --git a/Utilities/DataHelper/DataHelper/SimpleHelix.h b/Utilities/DataHelper/include/DataHelper/SimpleHelix.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/SimpleHelix.h
rename to Utilities/DataHelper/include/DataHelper/SimpleHelix.h
diff --git a/Utilities/DataHelper/DataHelper/TrackExtended.h b/Utilities/DataHelper/include/DataHelper/TrackExtended.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/TrackExtended.h
rename to Utilities/DataHelper/include/DataHelper/TrackExtended.h
diff --git a/Utilities/DataHelper/DataHelper/TrackHitPair.h b/Utilities/DataHelper/include/DataHelper/TrackHitPair.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/TrackHitPair.h
rename to Utilities/DataHelper/include/DataHelper/TrackHitPair.h
diff --git a/Utilities/DataHelper/DataHelper/TrackerHitExtended.h b/Utilities/DataHelper/include/DataHelper/TrackerHitExtended.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/TrackerHitExtended.h
rename to Utilities/DataHelper/include/DataHelper/TrackerHitExtended.h
diff --git a/Utilities/DataHelper/DataHelper/Trajectory.h b/Utilities/DataHelper/include/DataHelper/Trajectory.h
similarity index 100%
rename from Utilities/DataHelper/DataHelper/Trajectory.h
rename to Utilities/DataHelper/include/DataHelper/Trajectory.h