diff --git a/src/common_fc.cpp b/src/common_fc.cpp
index 16b4ecd4667c5b35d1a61e4b860c5845e64f78b8..470e8a4e59b4419678cbd30bb048977a8c0059ae 100644
--- a/src/common_fc.cpp
+++ b/src/common_fc.cpp
@@ -8,51 +8,10 @@ CCommon_Fc::~CCommon_Fc(){}
 
 Eigen::MatrixXd CCommon_Fc::CalcPinv(const Eigen::MatrixXd& a, double epsilon)
 {
-  // Eigen::JacobiSVD<Eigen::MatrixXd> svdd(a, Eigen::ComputeThinU | Eigen::ComputeThinV);
-  // double tolerance = epsilon * std::max(a.cols(), a.rows()) *svdd.singularValues().array().abs()(0);
-  // Eigen::MatrixXd mpinv = svdd.matrixV() *  (svdd.singularValues().array().abs() > tolerance).select(svdd.singularValues().array().inverse(), 0).matrix().asDiagonal() * svdd.matrixU().adjoint();
-  // return mpinv;
-
-// see : http://en.wikipedia.org/wiki/Moore-Penrose_pseudoinverse#The_general_case_and_the_SVD_method
-
-const Eigen::MatrixXd* m;
-Eigen::MatrixXd t;
-Eigen::MatrixXd m_pinv;
-
-// transpose so SVD decomp can work...
-if ( a.rows()<a.cols() )
-{
-  t = a.transpose();
-  m = &t;
-} 
-else 
-  m = &a;
-
-// SVD
-//JacobiSVD<Eigen::MatrixXd> svd = m->jacobiSvd(Eigen::ComputeFullU | Eigen::ComputeFullV);
-Eigen::JacobiSVD<Eigen::MatrixXd> svd = m->jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV);
-Eigen::MatrixXd vSingular = svd.singularValues();
-// Build a diagonal matrix with the Inverted Singular values
-// The pseudo inverted singular matrix is easy to compute :
-// is formed by replacing every nonzero entry by its reciprocal (inversing).
-Eigen::MatrixXd vPseudoInvertedSingular(svd.matrixV().cols(),1);
-for (int iRow =0; iRow<vSingular.rows(); iRow++) 
-{
-  if ( fabs(vSingular(iRow))<=epsilon )
-    vPseudoInvertedSingular(iRow,0)=0.;
-  else 
-    vPseudoInvertedSingular(iRow,0)=1./vSingular(iRow);
-}
-// A little optimization here
-Eigen::MatrixXd mAdjointU = svd.matrixU().adjoint().block(0,0,vSingular.rows(),svd.matrixU().adjoint().cols());
-// Pseudo-Inversion : V * S * U'
-m_pinv = (svd.matrixV() *  vPseudoInvertedSingular.asDiagonal()) * mAdjointU  ;
-
-// transpose back if necessary
-if ( a.rows()<a.cols() )
-  return m_pinv.transpose();
-
-return m_pinv;
+  Eigen::JacobiSVD<Eigen::MatrixXd> svdd(a, Eigen::ComputeThinU | Eigen::ComputeThinV);
+  double tolerance = epsilon * std::max(a.cols(), a.rows()) *svdd.singularValues().array().abs()(0);
+  Eigen::MatrixXd mpinv = svdd.matrixV() *  (svdd.singularValues().array().abs() > tolerance).select(svdd.singularValues().array().inverse(), 0).matrix().asDiagonal() * svdd.matrixU().adjoint();
+  return mpinv;
 }
 
 
diff --git a/src/kinematics.cpp b/src/kinematics.cpp
index 2965b76c8cab4d7dde425b7bc02fc084716c9024..5e7cf9d4d4ce4333e98103d215c338082c1025ee 100644
--- a/src/kinematics.cpp
+++ b/src/kinematics.cpp
@@ -24,8 +24,6 @@ void CKinematics::UAMKine(const UAM::CQuad& quad, UAM::CArm& arm, UAM::CHT& HT,
   // Quadrotor Jacobian body to inertial frames
   Eigen::MatrixXd Jb2i = QuadJac(quad.pos);
 
-std::cout << __LINE__ << " [" << quad.pos.transpose() << "]" << std::endl;
-
   // Inertial to body frames
   Eigen::MatrixXd Ji2b = UAM::CCommon_Fc::CalcPinv(Jb2i);