diff --git a/algo/ca/core/data/CaBranch.h b/algo/ca/core/data/CaBranch.h
index e43a269ca29dd0638e54214fa0903117ce34d3a3..3792e5eec8bfd695333e710577bc1cff940ab848 100644
--- a/algo/ca/core/data/CaBranch.h
+++ b/algo/ca/core/data/CaBranch.h
@@ -13,11 +13,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }
-
   ///  The class describes a combinatorial branch of the CA tracker
   ///
   class Branch {
diff --git a/algo/ca/core/data/CaGrid.h b/algo/ca/core/data/CaGrid.h
index 8514335fc7b4cb3d8136be3f8632fc44f502a59d..8bfc127154b6bce51d8187664420e32068ece503 100644
--- a/algo/ca/core/data/CaGrid.h
+++ b/algo/ca/core/data/CaGrid.h
@@ -18,11 +18,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }
-
   /// \class Grid
   /// \brief Class for storing 2d objects in a grid
 
diff --git a/algo/ca/core/data/CaGridArea.h b/algo/ca/core/data/CaGridArea.h
index 5fb1460fe77a0e9875f97e87fcbf1755f3987724..6b268192e1f47e26b18d4c48dd42dd0962f331d1 100644
--- a/algo/ca/core/data/CaGridArea.h
+++ b/algo/ca/core/data/CaGridArea.h
@@ -12,12 +12,6 @@
 
 namespace cbm::algo::ca
 {
-
-  namespace
-  {
-    using namespace cbm::algo;  // to keep 'ca::' prefices in the code
-  }
-
   /// \brief Class for accessing objects in the 2D area that are stored in ca::Grid
   ///
   class GridArea {
diff --git a/algo/ca/core/data/CaTrack.h b/algo/ca/core/data/CaTrack.h
index 3692849ee616ddd0ecb1c76704f740cd6052bb62..4ae774b8c3e543724d6ea0ba6b287b982635dafb 100644
--- a/algo/ca/core/data/CaTrack.h
+++ b/algo/ca/core/data/CaTrack.h
@@ -18,7 +18,6 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamS;
 
   /// \class cbm::algo::ca::Track
   /// \brief Class representing an output track in the CA tracking algorithm
@@ -44,9 +43,9 @@ namespace cbm::algo::ca
    public:
     int fNofHits{kfdefs::Undef<int>};  ///< Number of hits in track
 
-    TrackParamS fParFirst;  ///< Track parameters on the first station
-    TrackParamS fParLast;   ///< Track parameters on the last station
-    TrackParamS fParPV;     ///< Track parameters in the primary vertex
+    cbm::algo::kf::TrackParamS fParFirst;  ///< Track parameters on the first station
+    cbm::algo::kf::TrackParamS fParLast;   ///< Track parameters on the last station
+    cbm::algo::kf::TrackParamS fParPV;     ///< Track parameters in the primary vertex
   };
 
 }  // namespace cbm::algo::ca
diff --git a/algo/ca/core/data/CaTriplet.h b/algo/ca/core/data/CaTriplet.h
index 4e9e66f3eddef88ae602d91944bb2cfd2e9ea293..4a9848ea1aaa8ff2b9d7da14b38a4c7d422dd339 100644
--- a/algo/ca/core/data/CaTriplet.h
+++ b/algo/ca/core/data/CaTriplet.h
@@ -17,11 +17,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;  // needed to keep 'ca::' prefix in the code
-  }
-
   /// \brief Triplet class represents a short 3-hits track segment called a "triplet".
   ///
   class Triplet {
diff --git a/algo/ca/core/pars/CaField.cxx b/algo/ca/core/pars/CaField.cxx
index abd749d612f434afb6b7e5ed14c8ec8597a8960c..5572c2ae1a46f23b0259ea5729c21c0cd1892c40 100644
--- a/algo/ca/core/pars/CaField.cxx
+++ b/algo/ca/core/pars/CaField.cxx
@@ -11,6 +11,7 @@
 #include <sstream>
 
 using namespace cbm::algo::ca;
+using cbm::algo::kf::TrackParamBase;
 
 //
 // FieldValue methods
@@ -223,7 +224,7 @@ FieldValue<DataT> FieldRegion<DataT>::Get(const DataT& x, const DataT& y, const
     // TODO: ? Why the simd words are set indvidually?
     for (size_t i = 0; i < kfutils::simd::Size<DataT>(); i++) {
       auto [bx, by, bz] =
-        fgOdiginalField(kfutils::simd::Cast<DataT, double>(x, i), kfutils::simd::Cast<DataT, double>(y, i),
+        fgOriginalField(kfutils::simd::Cast<DataT, double>(x, i), kfutils::simd::Cast<DataT, double>(y, i),
                         kfutils::simd::Cast<DataT, double>(z, i));
       B.SetSimdEntry(bx, by, bz, i);
     }
diff --git a/algo/ca/core/pars/CaField.h b/algo/ca/core/pars/CaField.h
index e518aa0cdd9b579876f75c98947a7f64281ce373..1c1df4134063290f2259e4b34e5df40f041423ce 100644
--- a/algo/ca/core/pars/CaField.h
+++ b/algo/ca/core/pars/CaField.h
@@ -16,8 +16,6 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamBase;
-
   template<typename DataT>
   class FieldValue {
 
@@ -155,7 +153,7 @@ namespace cbm::algo::ca
     /// Gets field value for the intersection with a straight track
     /// \param t  straight track
     /// \return B  the FieldValue output
-    FieldValue<DataT> GetFieldValueForLine(const TrackParamBase<DataT>& t) const;
+    FieldValue<DataT> GetFieldValueForLine(const kf::TrackParamBase<DataT>& t) const;
 
     /// String representation of class contents
     /// \param indentLevel      number of indent characters in the output
diff --git a/algo/ca/core/pars/CaMaterialMonitor.h b/algo/ca/core/pars/CaMaterialMonitor.h
index 271696868fb1b989f6b1e8ab6e0381eb1ff8c77b..d70f5236828ba67d5e3b9b2193deab357519bbe6 100644
--- a/algo/ca/core/pars/CaMaterialMonitor.h
+++ b/algo/ca/core/pars/CaMaterialMonitor.h
@@ -18,11 +18,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }
-
   /// Class to collect statistics for ca::MaterialMap
   ///
   class MaterialMonitor {
diff --git a/algo/ca/core/tracking/CaCloneMerger.cxx b/algo/ca/core/tracking/CaCloneMerger.cxx
index 9332f72dc5b83bca274c9ef521922a69ab3bd0b9..955636d674e42dde93ea4ebbcdb52f960ad622d8 100644
--- a/algo/ca/core/tracking/CaCloneMerger.cxx
+++ b/algo/ca/core/tracking/CaCloneMerger.cxx
@@ -263,8 +263,8 @@ void CloneMerger::InvertCholesky(fvec a[15])
     fvec smallval(1.e-12);
     uud = iif(uud >= smallval, uud, smallval);
 
-    d[i]    = uud / utils::fabs(uud);
-    u[i][i] = sqrt(utils::fabs(uud));
+    d[i]    = uud / kf::utils::fabs(uud);
+    u[i][i] = sqrt(kf::utils::fabs(uud));
 
     for (int j = i + 1; j < 5; j++) {
       uud = 0.f;
diff --git a/algo/ca/core/tracking/CaCloneMerger.h b/algo/ca/core/tracking/CaCloneMerger.h
index 9bfce4145a0b754c772b7a9c0fb4d68bbe829028..e42848e1f135cbddd6628dee3efd94602952a6f8 100644
--- a/algo/ca/core/tracking/CaCloneMerger.h
+++ b/algo/ca/core/tracking/CaCloneMerger.h
@@ -22,12 +22,6 @@ namespace cbm::algo::ca
   class Track;
   class Framework;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class CloneMerger {
diff --git a/algo/ca/core/tracking/CaFramework.h b/algo/ca/core/tracking/CaFramework.h
index df31f66ea987079949cd10ead844f48003beb53f..031aded3bc9606f47f25b4e54beb303d878f4bcf 100644
--- a/algo/ca/core/tracking/CaFramework.h
+++ b/algo/ca/core/tracking/CaFramework.h
@@ -37,11 +37,6 @@ namespace cbm::algo::ca
   class TripletConstructor;
   class Track;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   //namespace
   //{
   //  using cbm::algo::ca::Track;      // TMP
diff --git a/algo/ca/core/tracking/CaTrackExtender.cxx b/algo/ca/core/tracking/CaTrackExtender.cxx
index 40cb9e3ed0ab07103722b1f9bdf77a769c6066da..2688c8a6e35a434cd1b12889d899da253493dd6f 100644
--- a/algo/ca/core/tracking/CaTrackExtender.cxx
+++ b/algo/ca/core/tracking/CaTrackExtender.cxx
@@ -215,8 +215,8 @@ void TrackExtender::FindMoreHits(ca::Branch& t, TrackParamV& Tout, const FitDire
 
     const auto& grid = frWData->Grid(ista);
     ca::GridArea area(grid, tr.X()[0], tr.Y()[0],
-                      (sqrt(pickGather * tr.C00()) + grid.GetMaxRangeX() + maxDZ * utils::fabs(tr.Tx()))[0],
-                      (sqrt(pickGather * tr.C11()) + grid.GetMaxRangeY() + maxDZ * utils::fabs(tr.Ty()))[0]);
+                      (sqrt(pickGather * tr.C00()) + grid.GetMaxRangeX() + maxDZ * kf::utils::fabs(tr.Tx()))[0],
+                      (sqrt(pickGather * tr.C11()) + grid.GetMaxRangeY() + maxDZ * kf::utils::fabs(tr.Ty()))[0]);
 
     if (fParameters.DevIsIgnoreHitSearchAreas()) {
       area.DoLoopOverEntireGrid();
diff --git a/algo/ca/core/tracking/CaTrackExtender.h b/algo/ca/core/tracking/CaTrackExtender.h
index 2c9ae46e9907a998cf1635ddad544526c9f0cda3..a9f434aa96dd85df38c66e3d0f049d5de14bd1e8 100644
--- a/algo/ca/core/tracking/CaTrackExtender.h
+++ b/algo/ca/core/tracking/CaTrackExtender.h
@@ -20,21 +20,17 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamV;
 
   class Track;
   class Framework;
   class InputData;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class TrackExtender {
+
+    using TrackParamV = cbm::algo::kf::TrackParamV;
+
    public:
     /// Default constructor
     TrackExtender(const ca::Parameters<fvec>& pars, const fscal mass);
diff --git a/algo/ca/core/tracking/CaTrackFinder.h b/algo/ca/core/tracking/CaTrackFinder.h
index ab707c25bb01fdc099ab753f11ba4a35ee429c43..21f4d56551d639cdb07ba03abb43d56a06bf6169 100644
--- a/algo/ca/core/tracking/CaTrackFinder.h
+++ b/algo/ca/core/tracking/CaTrackFinder.h
@@ -23,11 +23,6 @@ namespace cbm::algo::ca
   class Triplet;
   class Framework;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class TrackFinder {
diff --git a/algo/ca/core/tracking/CaTrackFinderWindow.h b/algo/ca/core/tracking/CaTrackFinderWindow.h
index fcd2e4d2bd74a720ea0417739d446ebef42fd9ad..8983a527feda0851b203522f9f38aad5969490c3 100644
--- a/algo/ca/core/tracking/CaTrackFinderWindow.h
+++ b/algo/ca/core/tracking/CaTrackFinderWindow.h
@@ -27,11 +27,6 @@ namespace cbm::algo::ca
   class Triplet;
   class Framework;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class TrackFinderWindow {
diff --git a/algo/ca/core/tracking/CaTrackFit.cxx b/algo/ca/core/tracking/CaTrackFit.cxx
index 62a03a96b97d1626c935c52102c9dc24e65d9626..f39a7d9849158840ab1364233f656aca4776bc20 100644
--- a/algo/ca/core/tracking/CaTrackFit.cxx
+++ b/algo/ca/core/tracking/CaTrackFit.cxx
@@ -41,9 +41,9 @@ namespace cbm::algo::ca
     // with respect to HCH that it disappears due to the roundoff error
     //
     DataT wi     = doProtect ? (fMaskF / (m.Du2() + DataT(1.0000001) * HCH)) : (fMaskF / (m.Du2() + HCH));
-    DataT zetawi = fMaskF * zeta / (utils::iif(maskDoFilter, m.Du2(), DataT(0.)) + HCH);
+    DataT zetawi = fMaskF * zeta / (kf::utils::iif(maskDoFilter, m.Du2(), DataT(0.)) + HCH);
 
-    wi = utils::iif(m.Du2() > DataT(0.), wi, DataT(0.));
+    wi = kf::utils::iif(m.Du2() > DataT(0.), wi, DataT(0.));
 
     fTr.ChiSq() += m.Ndf() * zeta * zeta * wi;
     fTr.Ndf() += m.Ndf() * fMaskF;
@@ -115,7 +115,7 @@ namespace cbm::algo::ca
 
     DataT HCH = fTr.C55();
 
-    DataT w = utils::iif(timeInfo, fMaskF, DataT(0.));
+    DataT w = kf::utils::iif(timeInfo, fMaskF, DataT(0.));
 
     // when dt0 is much smaller than current time error,
     // set track time exactly to the measurement value without filtering
@@ -126,9 +126,9 @@ namespace cbm::algo::ca
 
     DataT wi     = w / (dt2 + DataT(1.0000001) * HCH);
     DataT zeta   = fTr.Time() - t;
-    DataT zetawi = w * zeta / (utils::iif(maskDoFilter, dt2, DataT(0.)) + HCH);
+    DataT zetawi = w * zeta / (kf::utils::iif(maskDoFilter, dt2, DataT(0.)) + HCH);
 
-    fTr.ChiSqTime() += utils::iif(maskDoFilter, zeta * zeta * wi, DataT(0.));
+    fTr.ChiSqTime() += kf::utils::iif(maskDoFilter, zeta * zeta * wi, DataT(0.));
     fTr.NdfTime() += w;
 
     DataT K1 = F1 * wi;
@@ -620,10 +620,10 @@ namespace cbm::algo::ca
       ExtrapolateLineNoField(z_out);
     }
     else {
-      DataT sgn = utils::iif(fTr.GetZ() < z_out, DataT(1.), DataT(-1.));
-      while (!utils::isFull(fMaskF * utils::fabs(z_out - fTr.GetZ()) <= DataT(1.e-6))) {
+      DataT sgn = kf::utils::iif(fTr.GetZ() < z_out, DataT(1.), DataT(-1.));
+      while (!kf::utils::isFull(fMaskF * kf::utils::fabs(z_out - fTr.GetZ()) <= DataT(1.e-6))) {
         DataT zNew = fTr.GetZ() + sgn * fMaxExtraplationStep;  // max. 50 cm step
-        zNew       = utils::iif(sgn * (z_out - zNew) <= DataT(0.), z_out, zNew);
+        zNew       = kf::utils::iif(sgn * (z_out - zNew) <= DataT(0.), z_out, zNew);
         ExtrapolateStep(zNew, F);
       }
     }
@@ -674,7 +674,7 @@ namespace cbm::algo::ca
 
     //----------------------------------------------------------------
 
-    cnst zMasked = utils::iif(fMask, zOut, fTr.GetZ());
+    cnst zMasked = kf::utils::iif(fMask, zOut, fTr.GetZ());
 
     cnst h = (zMasked - fTr.GetZ());
 
@@ -871,7 +871,7 @@ namespace cbm::algo::ca
 
     auto& t = fTr;  // use reference to shorten the text
 
-    cnst zMasked = utils::iif(fMask, zOut, t.GetZ());
+    cnst zMasked = kf::utils::iif(fMask, zOut, t.GetZ());
 
     cnst dz = (zMasked - t.GetZ());
 
@@ -1057,7 +1057,7 @@ namespace cbm::algo::ca
   void TrackFit<DataT>::EnergyLossCorrection(DataT radThick, FitDirection direction)
   {
     cnst qp2cut(1. / (10. * 10.));  // 10 GeV cut
-    cnst qp02 = utils::max(fQp0 * fQp0, qp2cut);
+    cnst qp02 = kf::utils::max(fQp0 * fQp0, qp2cut);
     cnst p2   = DataT(1.) / qp02;
     cnst E2   = fMass2 + p2;
 
@@ -1074,7 +1074,7 @@ namespace cbm::algo::ca
 
     DataT corr   = sqrt(p2 / (E2Corrected - fMass2));
     DataTmask ok = (corr == corr) && fMask;
-    corr         = utils::iif(ok, corr, DataT(1.));
+    corr         = kf::utils::iif(ok, corr, DataT(1.));
 
     fQp0 *= corr;
     fTr.Qp() *= corr;
@@ -1092,7 +1092,7 @@ namespace cbm::algo::ca
                                              DataT radThick, FitDirection direction)
   {
     cnst qp2cut(1. / (10. * 10.));  // 10 GeV cut
-    cnst qp02 = utils::max(fQp0 * fQp0, qp2cut);
+    cnst qp02 = kf::utils::max(fQp0 * fQp0, qp2cut);
     cnst p2   = DataT(1.) / qp02;
     cnst E2   = fMass2 + p2;
 
@@ -1113,9 +1113,9 @@ namespace cbm::algo::ca
     cnst ECorrected  = (sqrt(E2) + dE);
     cnst E2Corrected = ECorrected * ECorrected;
 
-    DataT corr       = sqrt(p2 / (E2Corrected - fMass2));
-    DataTmask ok     = (corr == corr) && fMask;
-    corr             = utils::iif(ok, corr, DataT(1.));
+    DataT corr   = sqrt(p2 / (E2Corrected - fMass2));
+    DataTmask ok = (corr == corr) && fMask;
+    corr         = kf::utils::iif(ok, corr, DataT(1.));
 
     fQp0 *= corr;
     fTr.Qp() *= corr;
@@ -1153,7 +1153,7 @@ namespace cbm::algo::ca
     //   T.fTr.C42() *= corr;
     //   T.fTr.C43() *= corr;
     // T.fTr.C44() *= corr*corr;
-    fTr.C44() += utils::fabs(SDEDX);
+    fTr.C44() += kf::utils::fabs(SDEDX);
   }
 
 
@@ -1262,10 +1262,10 @@ namespace cbm::algo::ca
     cnst lhwI = log(28.816f * 1e-9f * sqrt(rho * mZA) / mI);
 
     DataTmask init = x > x1;
-    d2             = utils::iif(init, lhwI + x - 0.5f, DataT(0.));
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f, DataT(0.));
     cnst r         = (x1 - x) / (x1 - x0);
     init           = (x > x0) & (x1 > x);
-    d2             = utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
 
     return mK * mZA * (DataT(1.f) + bg2) / bg2
            * (0.5f * log(_2me * bg2 * maxT / (mI * mI)) - bg2 / (DataT(1.f) + bg2) - d2);
@@ -1309,10 +1309,10 @@ namespace cbm::algo::ca
     cnst lhwI = log(28.816f * 1e-9f * sqrt(rho * mZA) / mI);
 
     DataTmask init = x > x1;
-    d2             = utils::iif(init, lhwI + x - 0.5f, DataT(0.));
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f, DataT(0.));
     cnst r         = (x1 - x) / (x1 - x0);
     init           = (x > x0) & (x1 > x);
-    d2             = utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
 
     return mK * mZA * (DataT(1.f) + bg2) / bg2
            * (0.5f * log(_2me * bg2 * maxT / (mI * mI)) - bg2 / (DataT(1.f) + bg2) - d2);
@@ -1392,10 +1392,10 @@ namespace cbm::algo::ca
 
     for (int i = 0; i < NHits; i++) {
 
-      DataT w = utils::iif(hitW[i], DataT(1.), DataT(0.));
+      DataT w = kf::utils::iif(hitW[i], DataT(1.), DataT(0.));
 
       DataTmask setTime = (!isTimeSet) && hitWtime[i] && hitW[i];
-      time              = utils::iif(setTime, hitT[i], time);
+      time              = kf::utils::iif(setTime, hitT[i], time);
       isTimeSet         = isTimeSet || setTime;
 
       DataT x = hitX[i];
@@ -1406,7 +1406,7 @@ namespace cbm::algo::ca
         DataT dZ = z - prevZ;
         Sy += w * dZ * sy + DataT(0.5) * dZ * dZ * By[i];
         sy += w * dZ * By[i];
-        prevZ = utils::iif(hitW[i], z, prevZ);
+        prevZ = kf::utils::iif(hitW[i], z, prevZ);
       }
 
       DataT S = Sy;
@@ -1462,7 +1462,7 @@ namespace cbm::algo::ca
 
     DataT L = 0.;
     {  // diagonalization row 2
-      L = utils::iif((utils::fabs(m22) > DataT(1.e-4)), a2 / m22, DataT(0.));
+      L = kf::utils::iif((kf::utils::fabs(m22) > DataT(1.e-4)), a2 / m22, DataT(0.));
       a1 -= L * m12;
       a0 -= L * m02;
     }
diff --git a/algo/ca/core/tracking/CaTrackFit.h b/algo/ca/core/tracking/CaTrackFit.h
index 9b06b7d44e3e65bb41ac9912d2fb17285445fe74..d1282273661b5ec031a21e15799a2102e832f517 100644
--- a/algo/ca/core/tracking/CaTrackFit.h
+++ b/algo/ca/core/tracking/CaTrackFit.h
@@ -16,7 +16,7 @@
 #include "CaMeasurementXy.h"
 #include "CaSimd.h"
 #include "KfTrackParam.h"
-#include "CaUtils.h"
+#include "KfUtils.h"
 
 #include <type_traits>
 
@@ -25,11 +25,6 @@ namespace cbm::algo::ca
   using cbm::algo::kf::TrackParamBase;
   using cbm::algo::kf::TrackParamV;
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }  // namespace
-
   class Hit;
 
   enum FitDirection
@@ -46,8 +41,8 @@ namespace cbm::algo::ca
   class TrackFit {
 
    public:
-    using DataTscal = utils::scaltype<DataT>;
-    using DataTmask = utils::masktype<DataT>;
+    using DataTscal = kf::utils::scaltype<DataT>;
+    using DataTmask = kf::utils::masktype<DataT>;
 
     TrackFit() = default;
 
@@ -178,7 +173,7 @@ namespace cbm::algo::ca
     /// special utilities needed by the combinatorial track finder
 
     /// extrapolate track as a line, return the extrapolated X, Y and the Jacobians
-    void GetExtrapolatedXYline(DataT z, const kf::FieldRegion<DataT>& F, DataT& extrX, DataT& extrY,
+    void GetExtrapolatedXYline(DataT z, const ca::FieldRegion<DataT>& F, DataT& extrX, DataT& extrY,
                                std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jx,
                                std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jy) const;
 
@@ -188,7 +183,7 @@ namespace cbm::algo::ca
     /// \param extrY - extrapolated Y of the track
     /// \param Jx - Jacobian of the extrapolated X
     /// \param Jy - Jacobian of the extrapolated Y
-    void FilterExtrapolatedXY(const kf::MeasurementXy<DataT>& m, DataT extrX, DataT extrY,
+    void FilterExtrapolatedXY(const ca::MeasurementXy<DataT>& m, DataT extrX, DataT extrY,
                               const std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jx,
                               const std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jy);
 
@@ -285,7 +280,7 @@ namespace cbm::algo::ca
   inline void TrackFit<DataT>::SetOneEntry(const int i0, const TrackFit& T1, const int i1)
   {
     fTr.SetOneEntry(i0, T1.fTr, i1);
-    utils::VecCopy<DataT, DataT, false, false>::CopyEntries(fQp0, i0, T1.fQp0, i1);
+    kf::utils::VecCopy<DataT, DataT, false, false>::CopyEntries(fQp0, i0, T1.fQp0, i1);
   }
 
   template<typename DataT>
diff --git a/algo/ca/core/tracking/CaTrackFitter.h b/algo/ca/core/tracking/CaTrackFitter.h
index ea42265db4e0fbaa694c9d0463deae02fc96540b..75d79c10cac96367edcda56c55bf4a4855a339f1 100644
--- a/algo/ca/core/tracking/CaTrackFitter.h
+++ b/algo/ca/core/tracking/CaTrackFitter.h
@@ -22,11 +22,6 @@ namespace cbm::algo::ca
 {
   class Track;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   /// Class implements a track fit the CA track finder
   ///
   class TrackFitter {
diff --git a/algo/ca/core/tracking/CaTripletConstructor.cxx b/algo/ca/core/tracking/CaTripletConstructor.cxx
index d1b70880c4bbbaa62d6ceca7e285af6d1f039a1d..27bc3e44dff681bceb611d7300d0fd0e92dab0e7 100644
--- a/algo/ca/core/tracking/CaTripletConstructor.cxx
+++ b/algo/ca/core/tracking/CaTripletConstructor.cxx
@@ -679,12 +679,12 @@ void TripletConstructor::CollectHits(const TrackParamV& Tr, const int iSta, cons
   const auto& grid = frWData.Grid(iSta);
   const fvec maxDZ = frWData.CurrentIteration()->GetMaxDZ();
   ca::GridArea area(grid, T.X()[0], T.Y()[0],
-                    (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * utils::fabs(T.Tx()))[0],
-                    (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * utils::fabs(T.Ty()))[0]);
+                    (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * kf::utils::fabs(T.Tx()))[0],
+                    (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * kf::utils::fabs(T.Ty()))[0]);
   if constexpr (fDebugCollectHits) {
     LOG(info) << "search area: " << T.X()[0] << " " << T.Y()[0] << " "
-              << (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * utils::fabs(T.Tx()))[0] << " "
-              << (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * utils::fabs(T.Ty()))[0];
+              << (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * kf::utils::fabs(T.Tx()))[0] << " "
+              << (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * kf::utils::fabs(T.Ty()))[0];
   }
   if (fParameters.DevIsIgnoreHitSearchAreas()) {
     area.DoLoopOverEntireGrid();
diff --git a/algo/ca/core/tracking/CaTripletConstructor.h b/algo/ca/core/tracking/CaTripletConstructor.h
index ba7e26cbd6d2bfa87ead7147299b05892f3e4770..d1e3648c2c9e251a83fa29e58498a3f1e9684230 100644
--- a/algo/ca/core/tracking/CaTripletConstructor.h
+++ b/algo/ca/core/tracking/CaTripletConstructor.h
@@ -20,15 +20,13 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamV;
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
 
   /// Construction of triplets for the CA tracker
   ///
   class TripletConstructor {
+
+    using TrackParamV = cbm::algo::kf::TrackParamV;
+
    public:
     ///                             ------  Constructors and destructor ------
 
diff --git a/algo/trigger/V0Trigger.h b/algo/trigger/V0Trigger.h
index fb553b8452327b63aa79c870b67925129509b93f..6bed8ce5d210aaed169931991c6b79eded3603c6 100644
--- a/algo/trigger/V0Trigger.h
+++ b/algo/trigger/V0Trigger.h
@@ -45,7 +45,7 @@ namespace cbm::algo::evbuild
     typedef std::pair<std::vector<double>, V0TriggerMoniData> Result;
     typedef cbm::algo::ca::Track Track;
     typedef cbm::algo::ca::Vector<cbm::algo::ca::Track> TrackVector;
-    typedef cbm::algo::ca::TrackParamS TrackParam;
+    typedef cbm::algo::kf::TrackParamS TrackParam;
 
     /** @brief Constructor **/
     V0Trigger() = default;
diff --git a/reco/KF/ParticleFitter/CbmL1PFFitter.cxx b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
index 1c6f3c6c42db0da652b304944566d41cdaf96eb5..c1206dcfb85b6b2cb2b5f2122922a3adb776032c 100644
--- a/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
+++ b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
@@ -626,8 +626,8 @@ void CbmL1PFFitter::GetChiToVertex(vector<CbmStsTrack>& Tracks, vector<PFFieldRe
     c[1] += fvec(Cv[1]);
     c[2] += fvec(Cv[2]);
     fvec d   = c[0] * c[2] - c[1] * c[1];
-    fvec chi = sqrt(utils::fabs(fvec(0.5) * (dx * dx * c[0] - fvec(2.) * dx * dy * c[1] + dy * dy * c[2]) / d));
-    chi.setZero(utils::fabs(d) < fvec(1.e-20));
+    fvec chi = sqrt(kf::utils::fabs(fvec(0.5) * (dx * dx * c[0] - fvec(2.) * dx * dy * c[1] + dy * dy * c[2]) / d));
+    chi.setZero(kf::utils::fabs(d) < fvec(1.e-20));
 
     for (int iVec = 0; iVec < nTracks_SIMD; iVec++) {
       chiToVtx.push_back(chi[iVec]);