diff --git a/algo/kf/core/geo/KfSetup.h b/algo/kf/core/geo/KfSetup.h
index 2efe22422af90836aea9641e5394d4c1f74cac1b..fc26c6ac489bfa927439759f7ef4302a18a1aa37 100644
--- a/algo/kf/core/geo/KfSetup.h
+++ b/algo/kf/core/geo/KfSetup.h
@@ -229,9 +229,10 @@ namespace cbm::algo::kf
     Target<double> fTarget;                   ///< Field to keep target properties
   };
 
-  //
-  //  Template method definition
-  //
+
+  // ********************************
+  // ** Template method definition **
+  // ********************************
 
   // -------------------------------------------------------------------------------------------------------------------
   //
diff --git a/reco/CMakeLists.txt b/reco/CMakeLists.txt
index a15721ac5dc3e5c50c00c73277f0164b0ea14f82..20e15f4e337aa862b8e85f07068f85ebed7b9aa0 100644
--- a/reco/CMakeLists.txt
+++ b/reco/CMakeLists.txt
@@ -11,6 +11,7 @@ add_subdirectory(calibration)
 add_subdirectory(detectors)
 add_subdirectory(eventbuilder)
 add_subdirectory(global)
+add_subdirectory(kf)
 add_subdirectory(KF)
 add_subdirectory(L1)
 add_subdirectory(littrack)
diff --git a/reco/kf/CMakeLists.txt b/reco/kf/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9a0ce4fe858b1bf06eb37a931d792b8e32d1d8a4
--- /dev/null
+++ b/reco/kf/CMakeLists.txt
@@ -0,0 +1,73 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+set(SRCS 
+  ${CMAKE_CURRENT_SOURCE_DIR}/CbmKfSetupInitializer.cxx
+)
+
+SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-O3")
+
+
+If(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+  ADD_DEFINITIONS(-Wall -Wextra -Wsign-promo -Wctor-dtor-privacy -Wreorder -Wno-deprecated -Wno-parentheses) # -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast : wait for other parts of cbmroot\root.
+Else()
+  ADD_DEFINITIONS(-Wall -Wextra -Wsign-promo -Wno-pmf-conversions -Wctor-dtor-privacy -Wreorder -Wno-deprecated -Wstrict-null-sentinel -Wno-non-template-friend -Wno-parentheses -Wmissing-field-initializers) # -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast : wait for other parts of cbmroot\root.
+EndIf()
+
+add_library(CbmKf SHARED ${SRCS})
+
+#list(APPEND HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/utils/KfSimd.h)
+
+target_include_directories(CbmKf
+  PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+#target_compile_definitions(KfCore PUBLIC NO_ROOT)
+
+target_link_libraries(CbmKf
+              PUBLIC  CbmMuchBase
+                      CbmMvdBase
+                      CbmStsBase
+                      CbmTofBase
+                      CbmTrdBase
+                      CbmBase
+                      #CbmQaBase
+                      #FairRoot::Base
+                      FairLogger::FairLogger
+                      FairRoot::Base
+                      ROOT::Core
+                      ROOT::Gpad
+                      ROOT::Graf
+                      ROOT::Physics
+                      fmt::fmt
+              PRIVATE CbmRecoSts
+                      CbmSimSteer
+                      CbmRecoBase
+                      KFParticle
+                      external::yaml-cpp
+                      FairRoot::GeoBase
+                      FairRoot::ParBase
+                      ROOT::EG
+                      ROOT::Geom
+                      ROOT::Graf3d
+                      ROOT::MathCore
+                      ROOT::Matrix
+                      ROOT::Minuit
+                      ROOT::RIO
+                     )
+
+install(TARGETS CbmKf DESTINATION lib)
+#install(DIRECTORY kf TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY kf/utils TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY kf/data TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY kf/geo TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY kf/algo TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY kf/pars TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+
+install(
+  FILES
+    CbmKfSetupInitializer.h
+  DESTINATION
+    include/
+)
diff --git a/reco/kf/CbmKfSetupInitializer.cxx b/reco/kf/CbmKfSetupInitializer.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..ceac2c8c7d388a7bdc9d4e1bdf1b86182597c701
--- /dev/null
+++ b/reco/kf/CbmKfSetupInitializer.cxx
@@ -0,0 +1,16 @@
+/* Copyright (C) 2024 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Sergei Zharko [committer] */
+
+/// @file   CbmKfSetupInitializer.h
+/// @brief  CBM-specific kf::Setup initializer (source)
+/// @since  28.08.2024
+/// @author Sergei Zharko <s.zharko@gsi.de>
+
+#include "CbmKfSetupInitializer.h"
+
+using cbm::kf::SetupInitializer;
+
+// ---------------------------------------------------------------------------------------------------------------------
+//
+void SetupInitializer::Init() {}
diff --git a/reco/kf/CbmKfSetupInitializer.h b/reco/kf/CbmKfSetupInitializer.h
new file mode 100644
index 0000000000000000000000000000000000000000..6b5489fbbf6bc0ef536e4f92bc7de44d33cfd6c8
--- /dev/null
+++ b/reco/kf/CbmKfSetupInitializer.h
@@ -0,0 +1,64 @@
+/* Copyright (C) 2024 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Sergei Zharko [committer] */
+
+/// @file   CbmKfSetupInitializer.h
+/// @brief  CBM-specific kf::Setup initializer (header)
+/// @since  28.08.2024
+/// @author Sergei Zharko <s.zharko@gsi.de>
+
+#pragma once
+
+#include "KfSetup.h"
+
+namespace cbm::kf
+{
+  /// \class SetupInitializer
+  /// \brief Encapsulation of the kf::Setup initialization routines for CBM
+  class SetupInitializer {
+   public:
+    /// \brief Default constructor
+    SetupInitializer() = default;
+
+    /// \brief Copy constructor
+    SetupInitializer(const SetupInitializer&) = delete;
+
+    /// \brief Move constructor
+    SetupInitializer(SetupInitializer&&) = delete;
+
+    /// \brief Destructor
+    ~SetupInitializer() = default;
+
+    /// \brief Copy assignment operator
+    SetupInitializer& operator=(const SetupInitializer&) = delete;
+
+    /// \brief Move assignment operator
+    SetupInitializer& operator=(SetupInitializer&&) = delete;
+
+    /// \brief  Initializes the instance
+    /// \throws std::logic_error  If initialization fails
+    void Init();
+
+    /// \brief  Creates a kf::Setup instance
+    /// \tparam Underlying floating-point data-type for the created setup
+    template<typename T>
+    cbm::algo::kf::Setup<T> MakeSetup() const;
+
+   private:
+    cbm::algo::kf::SetupInitializer fBaseInitializer;  ///< Instance of the KF-core initializer
+  };
+
+
+  // *********************************
+  // ** Template methods definition **
+  // *********************************
+
+  // -------------------------------------------------------------------------------------------------------------------
+  //
+  template<typename T>
+  cbm::algo::kf::Setup<T> cbm::kf::SetupInitializer::MakeSetup() const
+  {
+    using cbm::algo::kf::Setup;
+    return Setup<T>();
+  }
+}  // namespace cbm::kf
diff --git a/reco/kf/README.md b/reco/kf/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e42c1a723ecf3a79dd3acac12f4b4527de865f24
--- /dev/null
+++ b/reco/kf/README.md
@@ -0,0 +1,20 @@
+# CbmRoot-Specific Representation of the KF framework
+
+## Introduction 
+
+The CbmKf Library contains a set of different Kalman-Filter based fitting utilities, which are specific for the CBM experiment.
+
+**The existing KF-libary will be later replaced with this new one.** Components of the CbmKf library will be placed in the `cbm::kf`
+ namespace (**NOTE:** components of the KfCore are kept in a different namespace **`cbm::algo::kf`**).
+
+
+## Library main classes
+
+### **`cbm::kf::SetupFactory`**
+
+The purpose of the class is to provide a common initialization routine for the kf::Setup instances for different data reconstruction
+units of the CBM experiment.
+
+
+
+