diff --git a/include/bodydynamics/math/force_torque_inertial_delta_tools.h b/include/bodydynamics/math/force_torque_inertial_delta_tools.h
index ef226f75c8dd863de548916a5255912de03d48ea..05041c069476b5d4857b3afcb8bf291befd4ca5a 100644
--- a/include/bodydynamics/math/force_torque_inertial_delta_tools.h
+++ b/include/bodydynamics/math/force_torque_inertial_delta_tools.h
@@ -1487,198 +1487,6 @@ void data2delta(const MatrixBase<D1>&       _data,
     _J_delta_model = _J_delta_model + J_delta_tangent * J_tangent_model;
 }
 
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-// template<typename D1, typename D2, typename D3, typename D4, typename D5, typename D6, typename D7, typename D8,
-// typename D9, typename D10, typename D11, typename D12, typename D19, typename D14> inline void diff(const
-// MatrixBase<D1>& dpi1, const MatrixBase<D2>& dvi1, const MatrixBase<D3>& dL1, const QuaternionBase<D4>& dq1,
-//                  const MatrixBase<D5>& dpi2, const MatrixBase<D6>& dvi2, const MatrixBase<D7>& dL2, const
-//                  QuaternionBase<D8>& dq2, MatrixBase<D9>& diff_pi, MatrixBase<D10>& diff_vi, MatrixBase<D11>&
-//                  diff_L, MatrixBase<D12>& diff_o, MatrixBase<D19>& J_do_dq1, MatrixBase<D14>& J_do_dq2)
-//{
-//     diff(dpi1, dvi1, dL1, dq1, dpi2, dvi2, dL2, dq2, diff_pi, diff_vi, diff_L, diff_o);
-//
-//     J_do_dq1 = - jac_SO3_left_inv(diff_o);
-//     J_do_dq2 =   jac_SO3_right_inv(diff_o);
-// }
-
-// template<typename D1, typename D2, typename D3, typename D4, typename D5>
-// inline void diff(const MatrixBase<D1>& d1,
-//                  const MatrixBase<D2>& d2,
-//                  MatrixBase<D3>& diff_d1_d2,
-//                  MatrixBase<D4>& J_diff_d1,
-//                  MatrixBase<D5>& J_diff_d2)
-//{
-//     Map<const Matrix<typename D1::Scalar, 3, 1> >   dpi1    ( & d1(0) );
-//     Map<const Matrix<typename D1::Scalar, 3, 1> >   dvi1    ( & d1(3) );
-//     Map<const Matrix<typename D1::Scalar, 3, 1> >   dL1     ( & d1(6) );
-//     Map<const Quaternion<typename D1::Scalar> >     dq1     ( & d1(9) );
-//     Map<const Matrix<typename D2::Scalar, 3, 1> >   dpi2    ( & d2(0) );
-//     Map<const Matrix<typename D2::Scalar, 3, 1> >   dvi2    ( & d2(3) );
-//     Map<const Matrix<typename D2::Scalar, 3, 1> >   dL2     ( & d2(6) );
-//     Map<const Quaternion<typename D1::Scalar> >     dq2     ( & d2(9) );
-//     Map<Matrix<typename D3::Scalar, 3, 1> >         diff_pi ( & diff_d1_d2(0) );
-//     Map<Matrix<typename D3::Scalar, 3, 1> >         diff_vi ( & diff_d1_d2(3) );
-//     Map<Matrix<typename D3::Scalar, 3, 1> >         diff_L  ( & diff_d1_d2(6) );
-//     Map<Matrix<typename D3::Scalar, 3, 1> >         diff_o  ( & diff_d1_d2(9) );
-//
-//     Matrix<typename D4::Scalar, 3, 3> J_do_dq1, J_do_dq2;
-//
-//     diff(dpi1, dvi1, dL1, dq1, dpi2, dvi2, dL2, dq2, diff_pi, diff_vi, diff_L, diff_o, J_do_dq1, J_do_dq2);
-//
-//     /* d = diff(d1, d2) is
-//      *   dpi = dpi2 - dpi1
-//      *   dvi = dvi2 - dvi1
-//      *   dL = dL2 - dL1
-//      *   do = Log(dq1.conj * dq2)
-//      *
-//      * With trivial Jacobians for dpi and dvi, and:
-//      *   J_do_dq1 = - J_l_inv(theta)
-//      *   J_do_dq2 =   J_r_inv(theta)
-//      */
-//
-//     J_diff_d1 = - Matrix<typename D4::Scalar, 12, 12>::Identity();  // d(pi2  - pi1) / d(pi1) = - Identity, for
-//     instance J_diff_d1.template block<3,3>(9,9) = J_do_dq1;                  // d(R1.tr*R2) / d(R1) = -
-//     J_l_inv(theta) J_diff_d2.setIdentity();                                        // d(pi2  - pi1) / d(pi2) =
-//     Identity, for instance J_diff_d2.template block<3,3>(9,9) = J_do_dq2;                  // d(R1.tr*R2) / d(R2) =
-//     J_r_inv(theta)
-// }
-
-// template<typename D1, typename D2>
-// inline void body2delta(const MatrixBase<D1>& body,
-//                         const typename D1::Scalar& dt,
-//                         const typename D1::Scalar& mass,
-//                         int nbc,
-//                         int dimc,
-//                         MatrixBase<D2>& delta)
-//{
-//     typedef typename D1::Scalar T;
-//
-//     delta.setZero();
-//     Map< Matrix<T, 3, 1>> dpi ( & delta(0) );
-//     Map< Matrix<T, 3, 1>> dvi( & delta(3) );
-//     Map< Matrix<T, 3, 1>> dL( & delta(6) );
-//     Map< Quaternion<T>>   dq ( & delta(9) );
-//
-//     Vector3d pbc = body.segment(nbc*dimc, 3);
-//     Vector3d wb = body.segment(nbc*dimc + 3, 3);
-//
-//     // general computation for any 3D or 6D contacts
-//     for (int i=0; i<nbc; i++){
-//         Vector3d pbli = body.segment(nbc*dimc + 6 + i*3, 3);
-//         Vector4d qbli_v = body.segment(nbc*dimc + 6 + nbc*3 + i*4, 4);
-//         Quaterniond qbli(qbli_v);
-//         Vector3d fi = body.segment(i*3, 3);
-//
-//         dpi += qbli*fi;
-//         dvi += qbli*fi;
-//         dL += (pbli - pbc).cross(qbli * fi);
-//         if (dimc == 6){
-//             Vector3d taui = body.segment(3*nbc + i*3, 3);
-//             dL += qbli*taui;
-//         }
-//     }
-//
-//     // formulas for 2 6D contacts:
-//     // dpi = 0.5 * (qbl1*f1 + qbl2*f2) * dt * dt / mass;
-//     // dvi =      (qbl1*f1 + qbl2*f2) * dt     / mass;
-//     // dL = (qbl1*tau1 + (pbl1-pbc).cross(qbl1*f1)
-//     //      + qbl2*tau2 + (pbl2-pbc).cross(qbl2*f2)) * dt;
-//
-//     dpi  *= (0.5*dt*dt/mass);
-//     dvi *= (dt/mass);
-//     dL *= dt;
-//     dq = exp_q(wb * dt);
-// }
-//
-// template<typename D1>
-// inline Matrix<typename D1::Scalar, 19, 1> body2delta(const MatrixBase<D1>& body,
-//                                                      const typename D1::Scalar& dt,
-//                                                      const typename D1::Scalar& mass,
-//                                                      int nbc,
-//                                                      int dimc)
-//{
-//     typedef typename D1::Scalar T;
-//     Matrix<T, 19, 1> delta;
-//     body2delta(body, dt, mass, nbc, dimc, delta);
-//
-//     return delta;
-// }
-//
-// template<typename D1, typename D2, typename D3>
-// inline void body2delta(const MatrixBase<D1>& body,
-//                        const typename D1::Scalar& dt,
-//                        const typename D1::Scalar& mass,
-//                        int nbc,
-//                        int dimc,
-//                        MatrixBase<D2>& delta,
-//                        MatrixBase<D3>& jac_delta_body)
-//{
-//     Vector3d pbc = body.segment(nbc*dimc, 3);
-//     Vector3d wb = body.segment(nbc*dimc + 3, 3);
-//
-//     jac_delta_body.setZero();
-//     for (int i=0; i<nbc; i++){
-//         Vector3d pbli = body.segment(nbc*dimc + 6 + i*3, 3);
-//         Vector4d qbli_v = body.segment(nbc*dimc + 6 + nbc*3 + i*4, 4);
-//         Quaterniond qbli(qbli_v);
-//         Matrix3d bRli = q2R(qbli);
-//         Vector3d fi = body.segment(i*3, 3);
-//
-//         jac_delta_body.template block<3,3>(0,i*3) = 0.5 * bRli * dt * dt / mass;
-//         jac_delta_body.template block<3,3>(3,i*3) = bRli * dt / mass;
-//         jac_delta_body.template block<3,3>(6,i*3) = skew(pbli - pbc) * bRli * dt;
-//         if (dimc == 6){
-//             jac_delta_body.template block<3,3>(6,nbc*3 + i*3) = bRli * dt;
-//         }
-//         jac_delta_body.template block<3,3>(6,nbc*dimc) +=  skew(bRli*fi) * dt;
-//     }
-//     jac_delta_body.template block<3,3>(9,nbc*dimc+3) =  dt * jac_SO3_right(wb * dt);
-//
-//     // formulas for 2 6D contacts:
-//     // jac_delta_body.template block<3,3>(0,0) = 0.5 * bRl1 * dt * dt / mass;
-//     // jac_delta_body.template block<3,3>(0,3) = 0.5 * bRl2 * dt * dt / mass;
-//     // jac_delta_body.template block<3,3>(3,0) =       bRl1 * dt / mass;
-//     // jac_delta_body.template block<3,3>(3,3) =       bRl2 * dt / mass;
-//     // jac_delta_body.template block<3,3>(6,0) =       skew(pbl1 - pbc) * bRl1 * dt;
-//     // jac_delta_body.template block<3,3>(6,3) =       skew(pbl2 - pbc) * bRl2 * dt;
-//     // jac_delta_body.template block<3,3>(6,6) =       bRl1 * dt;
-//     // jac_delta_body.template block<3,3>(6,9) =       bRl2 * dt;
-//     // jac_delta_body.template block<3,3>(6,12) =      (skew(bRl1*f1) + skew(bRl2*f2)) * dt;
-//     // jac_delta_body.template block<3,3>(9,15) =   dt * jac_SO3_right(wb * dt);
-//
-//     // TODO: kinematics uncertainties (bRl1, bRl2, bpl1, bpl2) are not implemented currently
-//
-//     body2delta(body, dt, mass, nbc, dimc, delta);
-// }
-//
-// template<typename D1, typename D2, typename D3>
-// inline void debiasData(const MatrixBase<D1>& _data, const MatrixBase<D2>& _bias, int nbc, int dimc, MatrixBase<D3>&
-// _body)
-//{
-//     MatrixSizeCheck<6 , 1>::check(_bias);
-//     _body = _data;
-//     _body.template block<6,1>(nbc*dimc,0) = _data.template block<6,1>(nbc*dimc,0) - _bias;
-// }
-//
-// template<typename D1, typename D2, typename D3, typename D4>
-// inline void debiasData(const MatrixBase<D1>& _data, const MatrixBase<D2>& _bias, int nbc, int dimc, MatrixBase<D3>&
-// _body, MatrixBase<D4>& _J_body_bias)
-//{
-//     debiasData(_data, _bias, nbc, dimc, _body);
-//     // MatrixSizeCheck<30, 6>::check(_J_body_bias);  // 30 because the 2 last body quantities are quaternions
-//     _J_body_bias.setZero();
-//     _J_body_bias.template block<3,3>(nbc*dimc, 0) = -Matrix<typename D1::Scalar, 3, 3>::Identity();
-//     _J_body_bias.template block<3,3>(nbc*dimc+3, 3) = -Matrix<typename D1::Scalar, 3, 3>::Identity();
-// }
 
 }  // namespace fti
 }  // namespace bodydynamics