diff --git a/.gitignore b/.gitignore
index 91c5366fd823c89dcb9024788ac8c419f5337c52..c237d0402877332e46b0dbaeb3a4a12c6283bfe7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,3 +34,4 @@ build_release/
 
 IMU.found
 est.csv
+/imu.found
diff --git a/include/imu/factor/factor_fix_bias.h b/include/imu/factor/factor_fix_bias.h
index 8d4e54ab641d7564e4e555b6d0ccddc1815ee2a1..e989b9b8861fa83d7f0568f2ea545dd50bed647e 100644
--- a/include/imu/factor/factor_fix_bias.h
+++ b/include/imu/factor/factor_fix_bias.h
@@ -21,6 +21,7 @@ class FactorFixBias: public FactorAutodiff<FactorFixBias,6,3,3>
     public:
         FactorFixBias(FeatureBasePtr _ftr_ptr, bool _apply_loss_function, FactorStatus _status = FAC_ACTIVE) :
                 FactorAutodiff<FactorFixBias, 6, 3, 3>("FactorFixBias",
+                                                       TOP_ABS,
                                                        _ftr_ptr,
                                                        nullptr, nullptr, nullptr, nullptr,
                                                        nullptr,
@@ -34,11 +35,6 @@ class FactorFixBias: public FactorAutodiff<FactorFixBias,6,3,3>
 
         virtual ~FactorFixBias() = default;
 
-        virtual std::string getTopology() const override
-        {
-            return std::string("ABS");
-        }
-
         template<typename T>
         bool operator ()(const T* const _ab, const T* const _wb, T* _residuals) const;
 
diff --git a/include/imu/factor/factor_imu.h b/include/imu/factor/factor_imu.h
index 2be43b54d15773093796950d7bb89a9e1581d43d..17c80316246bdd977ed59b4edc0aea6f34dca4f7 100644
--- a/include/imu/factor/factor_imu.h
+++ b/include/imu/factor/factor_imu.h
@@ -25,11 +25,6 @@ class FactorImu : public FactorAutodiff<FactorImu, 15, 3, 4, 3, 6, 3, 4, 3, 6>
 
         ~FactorImu() override = default;
 
-        std::string getTopology() const override
-        {
-            return std::string("MOTION");
-        }
-
         /** \brief : compute the residual from the state blocks being iterated by the solver.
             -> computes the expected measurement
             -> corrects actual measurement with new bias
@@ -163,6 +158,7 @@ inline FactorImu::FactorImu(const FeatureImuPtr&    _ftr_ptr,
                             FactorStatus        _status) :
                 FactorAutodiff<FactorImu, 15, 3, 4, 3, 6, 3, 4, 3, 6>( // ...
                         "FactorImu",
+                        TOP_MOTION,
                         _ftr_ptr,
                         _cap_origin_ptr->getFrame(),
                         _cap_origin_ptr,