diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7728a55e104b8ac03aabcf15fbe9595db70c047b..b9002bc5e8e89f7cd320d88b07d5359571948631 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -221,9 +221,9 @@ SET(HDRS_FACTOR
   include/core/factor/factor_block_difference.h
   include/core/factor/factor_diff_drive.h
   include/core/factor/factor_distance_3d.h
+  include/core/factor/factor_odom_2d.h
   include/core/factor/factor_odom_2d_autodiff.h
   include/core/factor/factor_odom_2d_closeloop.h
-  include/core/factor/factor_odom_2d_analytic.h
   include/core/factor/factor_odom_3d.h
   include/core/factor/factor_pose_2d.h
   include/core/factor/factor_pose_3d.h
diff --git a/include/core/factor/factor_odom_2d_analytic.h b/include/core/factor/factor_odom_2d.h
similarity index 70%
rename from include/core/factor/factor_odom_2d_analytic.h
rename to include/core/factor/factor_odom_2d.h
index c98a521dfdc638d250de0406c616b51469df6390..e79aaacdbdad0c49d18c74e05dc9b56a340ac801 100644
--- a/include/core/factor/factor_odom_2d_analytic.h
+++ b/include/core/factor/factor_odom_2d.h
@@ -1,5 +1,5 @@
-#ifndef FACTOR_ODOM_2d_ANALYTIC_H_
-#define FACTOR_ODOM_2d_ANALYTIC_H_
+#ifndef FACTOR_ODOM_2d_H_
+#define FACTOR_ODOM_2d_H_
 
 //Wolf includes
 #include "core/factor/factor_relative_2d_analytic.h"
@@ -7,18 +7,18 @@
 
 namespace wolf {
     
-WOLF_PTR_TYPEDEFS(FactorOdom2dAnalytic);
+WOLF_PTR_TYPEDEFS(FactorOdom2d);
     
 //class
-class FactorOdom2dAnalytic : public FactorRelative2dAnalytic
+class FactorOdom2d : public FactorRelative2dAnalytic
 {
     public:
-        FactorOdom2dAnalytic(const FeatureBasePtr& _ftr_ptr,
+        FactorOdom2d(const FeatureBasePtr& _ftr_ptr,
                              const FrameBasePtr& _frame_ptr,
                              const ProcessorBasePtr& _processor_ptr,
                              bool _apply_loss_function,
                              FactorStatus _status = FAC_ACTIVE) :
-            FactorRelative2dAnalytic("FactorOdom2dAnalytic",
+            FactorRelative2dAnalytic("FactorOdom2d",
                                      _ftr_ptr,
                                      _frame_ptr,
                                      _processor_ptr,
@@ -28,7 +28,7 @@ class FactorOdom2dAnalytic : public FactorRelative2dAnalytic
             //
         }
 
-        ~FactorOdom2dAnalytic() override = default;
+        ~FactorOdom2d() override = default;
 
         std::string getTopology() const override
         {
diff --git a/include/core/factor/factor_odom_2d_autodiff.h b/include/core/factor/factor_odom_2d_autodiff.h
index a63ca8cdd630affd0e2fda685e9344d82fcb1f79..f7cefbb0a94b2ea54b52f0b0de915d660020c1c6 100644
--- a/include/core/factor/factor_odom_2d_autodiff.h
+++ b/include/core/factor/factor_odom_2d_autodiff.h
@@ -21,7 +21,7 @@ class FactorOdom2dAutodiff : public FactorAutodiff<FactorOdom2dAutodiff, 3, 2, 1
                      const ProcessorBasePtr& _processor_ptr,
                      bool _apply_loss_function,
                      FactorStatus _status = FAC_ACTIVE) :
-             FactorAutodiff<FactorOdom2dAutodiff, 3, 2, 1, 2, 1>("FactorOdom2d",
+             FactorAutodiff<FactorOdom2dAutodiff, 3, 2, 1, 2, 1>("FactorOdom2dAutodiff",
                                                          _ftr_ptr,
                                                          _frame_other_ptr, nullptr, nullptr, nullptr,
                                                          _processor_ptr,
diff --git a/include/core/feature/feature_odom_2d.h b/include/core/feature/feature_odom_2d.h
index 78522f6b5666dc59f69c2d74f5dc33c10da06b00..3c9c87a2e4fb48e19e81bc7ebeae29c96c31d38c 100644
--- a/include/core/feature/feature_odom_2d.h
+++ b/include/core/feature/feature_odom_2d.h
@@ -2,9 +2,9 @@
 #define FEATURE_ODOM_2d_H_
 
 //Wolf includes
+#include <core/factor/factor_odom_2d.h>
 #include <core/factor/factor_odom_2d_autodiff.h>
 #include "core/feature/feature_base.h"
-#include "core/factor/factor_odom_2d_analytic.h"
 
 //std includes
 
diff --git a/test/gtest_factor_autodiff.cpp b/test/gtest_factor_autodiff.cpp
index d852ea30c3e600bc564cd5720b4e0446971f2570..cb72a43e55ebb52bde111e87ff1847c8f2accb12 100644
--- a/test/gtest_factor_autodiff.cpp
+++ b/test/gtest_factor_autodiff.cpp
@@ -5,13 +5,13 @@
  *      Author: jvallve
  */
 
+#include <core/factor/factor_odom_2d.h>
 #include <core/factor/factor_odom_2d_autodiff.h>
 #include "core/utils/utils_gtest.h"
 
 #include "core/sensor/sensor_odom_2d.h"
 #include "core/capture/capture_void.h"
 #include "core/feature/feature_odom_2d.h"
-#include "core/factor/factor_odom_2d_analytic.h"
 #include "core/factor/factor_autodiff.h"
 #include "dummy/factor_dummy_zero_1.h"
 #include "dummy/factor_dummy_zero_12.h"
@@ -531,7 +531,7 @@ TEST(FactorAutodiff, AutodiffVsAnalytic)
 
     // FACTOR
     auto fac_autodiff_ptr = FactorBase::emplace<FactorOdom2dAutodiff>(feature_ptr, feature_ptr, fr1_ptr, nullptr, false);
-    auto fac_analytic_ptr = FactorBase::emplace<FactorOdom2dAnalytic>(feature_ptr, feature_ptr, fr1_ptr, nullptr, false);
+    auto fac_analytic_ptr = FactorBase::emplace<FactorOdom2d>(feature_ptr, feature_ptr, fr1_ptr, nullptr, false);
 
     // COMPUTE JACOBIANS
     const Eigen::VectorXd fr1_pstate = fr1_ptr->getP()->getState();
diff --git a/test/gtest_odom_2d.cpp b/test/gtest_odom_2d.cpp
index cbdcf2435fe2b3e478bcbc37fd7f3713cecba253..3fb6a8bf2ca7dd818efec337bdfd822f83ede1ba 100644
--- a/test/gtest_odom_2d.cpp
+++ b/test/gtest_odom_2d.cpp
@@ -5,13 +5,13 @@
  *      \author: jsola
  */
 
+#include <core/factor/factor_odom_2d.h>
 #include <core/factor/factor_odom_2d_autodiff.h>
 #include "core/utils/utils_gtest.h"
 
 // Classes under test
 #include "core/sensor/sensor_odom_2d.h"
 #include "core/processor/processor_odom_2d.h"
-#include "core/factor/factor_odom_2d_analytic.h"
 #include "core/capture/capture_odom_2d.h"
 
 // Wolf includes
@@ -133,14 +133,14 @@ TEST(Odom2d, FactorFix_and_FactorOdom2d)
     FrameBasePtr        F1 = Pr->emplaceFrame(t, Vector3d::Zero());
     auto C1 = CaptureBase::emplace<CaptureBase>(F1, "CaptureOdom2d", t);
     auto f1 = FeatureBase::emplace<FeatureBase>(C1, "FeatureOdom2d", delta, delta_cov);
-    auto c1 = FactorBase::emplace<FactorOdom2dAnalytic>(f1, f1, F0, nullptr, false);
+    auto c1 = FactorBase::emplace<FactorOdom2d>(f1, f1, F0, nullptr, false);
 
     // KF2 and motion from KF1
     t += dt;
     FrameBasePtr        F2 = Pr->emplaceFrame(t, Vector3d::Zero());
     auto C2 = CaptureBase::emplace<CaptureBase>(F2, "CaptureOdom2d", t);
     auto f2 = FeatureBase::emplace<FeatureBase>(C2, "FeatureOdom2d", delta, delta_cov);
-    auto c2 = FactorBase::emplace<FactorOdom2dAnalytic>(f2, f2, F1, nullptr, false);
+    auto c2 = FactorBase::emplace<FactorOdom2d>(f2, f2, F1, nullptr, false);
 
     ASSERT_TRUE(Pr->check(0));