diff --git a/include/hpp/fcl/collision.h b/include/hpp/fcl/collision.h
index 89897e66b8b218ce2358e5bc1a4203a0d5fc9fae..c17759919ae445a4e69df4b7b75c12ce6c83a8a4 100644
--- a/include/hpp/fcl/collision.h
+++ b/include/hpp/fcl/collision.h
@@ -42,7 +42,6 @@
 #include <hpp/fcl/data_types.h>
 #include <hpp/fcl/collision_object.h>
 #include <hpp/fcl/collision_data.h>
-#include <hpp/fcl/narrowphase/narrowphase.h>
 
 namespace hpp
 {
@@ -53,21 +52,10 @@ namespace fcl
 /// returning all the contact points), whether return detailed contact information (i.e., normal, contact point, depth; otherwise only contact primitive id is returned), this function
 /// performs the collision between them. 
 /// Return value is the number of contacts generated between the two objects.
-
-std::size_t collide(const CollisionObject* o1, const CollisionObject* o2,
-                    const GJKSolver* nsolver,
-                    const CollisionRequest& request,
-                    CollisionResult& result);
-
-std::size_t collide(const CollisionGeometry* o1, const Transform3f& tf1,
-                    const CollisionGeometry* o2, const Transform3f& tf2,
-                    const GJKSolver* nsolver_,
-                    const CollisionRequest& request,
-                    CollisionResult& result);
-
 std::size_t collide(const CollisionObject* o1, const CollisionObject* o2,
                     const CollisionRequest& request, CollisionResult& result);
 
+/// @copydoc collide(const CollisionObject*, const CollisionObject*, const CollisionRequest&, CollisionResult&)
 std::size_t collide(const CollisionGeometry* o1, const Transform3f& tf1,
                     const CollisionGeometry* o2, const Transform3f& tf2,
                     const CollisionRequest& request, CollisionResult& result);
diff --git a/include/hpp/fcl/distance.h b/include/hpp/fcl/distance.h
index 9244674d40bd7e6abb352061cccbbd14833d2211..d04d2c8224abfdfc1cc25f33d33fb7dbf4929780 100644
--- a/include/hpp/fcl/distance.h
+++ b/include/hpp/fcl/distance.h
@@ -40,7 +40,6 @@
 
 #include <hpp/fcl/collision_object.h>
 #include <hpp/fcl/collision_data.h>
-#include <hpp/fcl/narrowphase/narrowphase.h>
 
 namespace hpp
 {
@@ -49,18 +48,9 @@ namespace fcl
 
 /// @brief Main distance interface: given two collision objects, and the requirements for contacts, including whether return the nearest points, this function performs the distance between them. 
 /// Return value is the minimum distance generated between the two objects.
-
-FCL_REAL distance(const CollisionObject* o1, const CollisionObject* o2,
-                  const GJKSolver* nsolver,
-                  const DistanceRequest& request, DistanceResult& result);
-
-FCL_REAL distance(const CollisionGeometry* o1, const Transform3f& tf1, 
-                  const CollisionGeometry* o2, const Transform3f& tf2,
-                  const GJKSolver* nsolver_,
-                  const DistanceRequest& request, DistanceResult& result);
-
 FCL_REAL distance(const CollisionObject* o1, const CollisionObject* o2, const DistanceRequest& request, DistanceResult& result);
 
+/// @copydoc distance(const CollisionObject*, const CollisionObject*, const DistanceRequest&, DistanceResult&)
 FCL_REAL distance(const CollisionGeometry* o1, const Transform3f& tf1,
                   const CollisionGeometry* o2, const Transform3f& tf2,
                   const DistanceRequest& request, DistanceResult& result);
diff --git a/src/collision.cpp b/src/collision.cpp
index fd1bc5c6cbf068a2f89b1eac4afc3f5f8a6e6010..b07f2b5d69292b1f64488533b23a1ef8aa8de857 100644
--- a/src/collision.cpp
+++ b/src/collision.cpp
@@ -53,14 +53,6 @@ CollisionFunctionMatrix& getCollisionFunctionLookTable()
   return table;
 }
 
-std::size_t collide(const CollisionObject* o1, const CollisionObject* o2,
-                    const GJKSolver* nsolver,
-                    const CollisionRequest& request,
-                    CollisionResult& result)
-{
-  return collide(o1->collisionGeometry().get(), o1->getTransform(), o2->collisionGeometry().get(), o2->getTransform(), nsolver, request, result);
-}
-
 // reorder collision results in the order the call has been made.
 void invertResults(CollisionResult& result)
 {
@@ -134,6 +126,14 @@ std::size_t collide(const CollisionGeometry* o1, const Transform3f& tf1,
   return res;
 }
 
+std::size_t collide(const CollisionObject* o1, const CollisionObject* o2,
+                    const GJKSolver* nsolver,
+                    const CollisionRequest& request,
+                    CollisionResult& result)
+{
+  return collide(o1->collisionGeometry().get(), o1->getTransform(), o2->collisionGeometry().get(), o2->getTransform(), nsolver, request, result);
+}
+
 std::size_t collide(const CollisionObject* o1, const CollisionObject* o2,
                     const CollisionRequest& request, CollisionResult& result)
 {
diff --git a/src/distance.cpp b/src/distance.cpp
index a2bcd9ad169edc521b0e0f7c6aa2709f12b8d9e3..95c4a8b2ee9cd2ae4d1ef757939dbe83b5d19322 100644
--- a/src/distance.cpp
+++ b/src/distance.cpp
@@ -52,13 +52,6 @@ DistanceFunctionMatrix& getDistanceFunctionLookTable()
   return table;
 }
 
-FCL_REAL distance(const CollisionObject* o1, const CollisionObject* o2, const GJKSolver* nsolver,
-                  const DistanceRequest& request, DistanceResult& result)
-{
-  return distance(o1->collisionGeometry().get(), o1->getTransform(), o2->collisionGeometry().get(), o2->getTransform(), nsolver,
-                                     request, result);
-}
-
 FCL_REAL distance(const CollisionGeometry* o1, const Transform3f& tf1, 
                   const CollisionGeometry* o2, const Transform3f& tf2,
                   const GJKSolver* nsolver_,
@@ -115,6 +108,12 @@ FCL_REAL distance(const CollisionGeometry* o1, const Transform3f& tf1,
   return res;
 }
 
+FCL_REAL distance(const CollisionObject* o1, const CollisionObject* o2, const GJKSolver* nsolver,
+                  const DistanceRequest& request, DistanceResult& result)
+{
+  return distance(o1->collisionGeometry().get(), o1->getTransform(), o2->collisionGeometry().get(), o2->getTransform(), nsolver,
+                                     request, result);
+}
 
 FCL_REAL distance(const CollisionObject* o1, const CollisionObject* o2, const DistanceRequest& request, DistanceResult& result)
 {