diff --git a/include/IMU/factor/factor_IMU.h b/include/IMU/factor/factor_IMU.h
index f2571dadc1edc66e26b273bf73504d6209065330..3aebd27bddc804a39beccc5eb2b62713c24ed5ef 100644
--- a/include/IMU/factor/factor_IMU.h
+++ b/include/IMU/factor/factor_IMU.h
@@ -25,6 +25,11 @@ class FactorIMU : public FactorAutodiff<FactorIMU, 15, 3, 4, 3, 6, 3, 4, 3, 6>
 
         virtual ~FactorIMU() = default;
 
+        virtual 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
diff --git a/include/IMU/factor/factor_fix_bias.h b/include/IMU/factor/factor_fix_bias.h
index 31f39fba02a797e379ea3fabca3577e944e939d1..191b87d41b8f4faaea3612f40e8b1e5706698c45 100644
--- a/include/IMU/factor/factor_fix_bias.h
+++ b/include/IMU/factor/factor_fix_bias.h
@@ -29,6 +29,11 @@ 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;