diff --git a/src/traversal/traversal_node_base.h b/src/traversal/traversal_node_base.h
index 2e5419598df8c78ae1d4dcfb6656350b11b3c027..c4308fdc20334d1567bb47b672beb446c6ad9c45 100644
--- a/src/traversal/traversal_node_base.h
+++ b/src/traversal/traversal_node_base.h
@@ -47,7 +47,10 @@ namespace hpp
 namespace fcl
 {
 
+
 /// @brief Node structure encoding the information required for traversal.
+/// @internal TraversalNodeBase, private class.
+
 class TraversalNodeBase
 {
 public:
@@ -88,7 +91,9 @@ public:
   Transform3f tf2;
 };
 
+
 /// @brief Node structure encoding the information required for collision traversal.
+/// @internal CollisionTraversalNodeBase, private class.
 class CollisionTraversalNodeBase : public TraversalNodeBase
 {
 public:
@@ -129,6 +134,7 @@ public:
 };
 
 /// @brief Node structure encoding the information required for distance traversal.
+/// @internal DistanceTraversalNodeBase, private class.
 class DistanceTraversalNodeBase : public TraversalNodeBase
 {
 public:
diff --git a/src/traversal/traversal_node_bvh_shape.h b/src/traversal/traversal_node_bvh_shape.h
index b01351ac562581a0f09aef6e824a28091fb2ca75..17bb3a11fe5fd0dfdece12fce1f30ded0f6ac4a7 100644
--- a/src/traversal/traversal_node_bvh_shape.h
+++ b/src/traversal/traversal_node_bvh_shape.h
@@ -53,6 +53,7 @@ namespace fcl
 {
 
 /// @brief Traversal node for collision between BVH and shape
+/// @internal BVHShapeCollisionTraversalNode, private class.
 template<typename BV, typename S>
 class BVHShapeCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -96,6 +97,7 @@ public:
 };
 
 /// @brief Traversal node for collision between shape and BVH
+/// @internal ShapeBVHCollisionTraversalNode, private class.
 template<typename S, typename BV>
 class ShapeBVHCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -146,6 +148,7 @@ public:
 
 
 /// @brief Traversal node for collision between mesh and shape
+/// @internal MeshShapeCollisionTraversalNode, private class.
 template<typename BV, typename S,
   int _Options = RelativeTransformationIsIdentity>
 class MeshShapeCollisionTraversalNode : public BVHShapeCollisionTraversalNode<BV, S>
@@ -260,6 +263,7 @@ public:
 };
 
 /// @brief Traversal node for mesh and shape, when mesh BVH is one of the oriented node (OBB, RSS, OBBRSS, kIOS)
+/// @internal MeshShapeCollisionTraversalNodeOBB/RSS/kIOS/OBBRSS, private class.
 template<typename S>
 class MeshShapeCollisionTraversalNodeOBB : public MeshShapeCollisionTraversalNode<OBB, S, 0>
 {
@@ -307,6 +311,7 @@ public:
 
 
 /// @brief Traversal node for collision between shape and mesh
+/// @internalShapeMeshCollisionTraversalNode, private class.
 template<typename S, typename BV,
   int _Options = RelativeTransformationIsIdentity>
 class ShapeMeshCollisionTraversalNode : public ShapeBVHCollisionTraversalNode<S, BV>
@@ -420,6 +425,7 @@ public:
 };
 
 /// @brief Traversal node for shape and mesh, when mesh BVH is one of the oriented node (OBB, RSS, OBBRSS, kIOS)
+/// @internal ShapeMeshCollisionTraversalNodeOBB/RSS/kIOS/OBBRSS, private class.
 template<typename S>
 class ShapeMeshCollisionTraversalNodeOBB : public ShapeMeshCollisionTraversalNode<S, OBB, 0>
 {
@@ -460,6 +466,7 @@ public:
 };
 
 /// @brief Traversal node for distance computation between BVH and shape
+/// @internal BVHShapeDistanceTraversalNode, private class.
 template<typename BV, typename S>
 class BVHShapeDistanceTraversalNode : public DistanceTraversalNodeBase
 {
@@ -508,6 +515,7 @@ public:
 };
 
 /// @brief Traversal node for distance computation between shape and BVH
+/// @internal ShapeBVHShapeDistanceTraversalNode, private class.
 template<typename S, typename BV>
 class ShapeBVHDistanceTraversalNode : public DistanceTraversalNodeBase
 {
@@ -557,6 +565,7 @@ public:
                                   
 
 /// @brief Traversal node for distance between mesh and shape
+/// @internal MeshShapeDistanceTraversalNode, private class.
 template<typename BV, typename S>
 class MeshShapeDistanceTraversalNode : public BVHShapeDistanceTraversalNode<BV, S>
 { 
@@ -681,7 +690,8 @@ static inline void distancePreprocessOrientedNode(const BVHModel<BV>* model1,
 
 
 
-/// @brief Traversal node for distance between mesh and shape, when mesh BVH is one of the oriented node (RSS, OBBRSS, kIOS)
+/// @brief Traversal node for distance between mesh and shape, when mesh BVH is one of the oriented node (RSS, kIOS, OBBRSS)
+/// @internal MeshShapeDistanceTraversalNodeRSS/kIOS/OBBRSS, private class.
 template<typename S>
 class MeshShapeDistanceTraversalNodeRSS : public MeshShapeDistanceTraversalNode<RSS, S>
 {
@@ -780,6 +790,7 @@ public:
 };
 
 /// @brief Traversal node for distance between shape and mesh
+/// @internal ShapeMeshDistanceTraversalNode, private class.
 template<typename S, typename BV>
 class ShapeMeshDistanceTraversalNode : public ShapeBVHDistanceTraversalNode<S, BV>
 { 
@@ -838,6 +849,8 @@ public:
   const GJKSolver* nsolver;
 };
 
+/// @brief Traversal node for distance between shape and mesh, when mesh BVH is one of the oriented node (RSS, kIOS, OBBRSS)
+/// @internal ShapeMeshDistanceTraversalNodeRSS/kIOS/OBBRSS, private class.
 template<typename S>
 class ShapeMeshDistanceTraversalNodeRSS : public ShapeMeshDistanceTraversalNode<S, RSS>
 {
diff --git a/src/traversal/traversal_node_bvhs.h b/src/traversal/traversal_node_bvhs.h
index b35e9783846d6618b792e8f6a3dd6828adc1d3e6..a124e2deef91e5f1f8f49afc6d19945befb9aecd 100644
--- a/src/traversal/traversal_node_bvhs.h
+++ b/src/traversal/traversal_node_bvhs.h
@@ -61,6 +61,7 @@ namespace hpp
 namespace fcl
 {
 /// @brief Traversal node for collision between BVH models
+/// @internal BVHCollisionTraversalNode, private class.
 template<typename BV>
 class BVHCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -138,6 +139,7 @@ public:
 };
 
 /// @brief Traversal node for collision between two meshes
+/// @internal MeshCollisionTraversalNode, private class.
 template<typename BV, int _Options = RelativeTransformationIsIdentity>
 class MeshCollisionTraversalNode : public BVHCollisionTraversalNode<BV>
 {
@@ -172,7 +174,7 @@ public:
   /// \retval sqrDistLowerBound square of a lower bound of the minimal
   ///         distance between bounding volumes.
   bool BVDisjoints(int b1, int b2, FCL_REAL& sqrDistLowerBound) const
-  {
+  {/// @internal MeshCollisionTraversalNode, private class.
     if(this->enable_statistics) this->num_bv_tests++;
     if (RTIsIdentity)
       return !this->model1->getBV(b1).overlap(this->model2->getBV(b2),
@@ -264,6 +266,7 @@ public:
 };
 
 /// @brief Traversal node for collision between two meshes if their underlying BVH node is oriented node (OBB, RSS, OBBRSS, kIOS)
+/// @internal MeshCollisionTraversalNode (OBB, RSS, OBBRSS, kIOS), private class.
 typedef MeshCollisionTraversalNode<OBB   , 0> MeshCollisionTraversalNodeOBB   ;
 typedef MeshCollisionTraversalNode<RSS   , 0> MeshCollisionTraversalNodeRSS   ;
 typedef MeshCollisionTraversalNode<kIOS  , 0> MeshCollisionTraversalNodekIOS  ;
@@ -296,6 +299,7 @@ namespace details
 } // namespace details
 
 /// @brief Traversal node for distance computation between BVH models
+/// @internal BVHDistanceTraversalNode, private class.
 template<typename BV>
 class BVHDistanceTraversalNode : public DistanceTraversalNodeBase
 {
@@ -381,6 +385,7 @@ public:
 
 
 /// @brief Traversal node for distance computation between two meshes
+/// @internal MeshDistanceTraversalNode, private class.
 template<typename BV>
 class MeshDistanceTraversalNode : public BVHDistanceTraversalNode<BV>
 {
@@ -448,6 +453,7 @@ public:
 };
 
 /// @brief Traversal node for distance computation between two meshes if their underlying BVH node is oriented node (RSS, OBBRSS, kIOS)
+/// @internal MeshDistanceTraversalNodeRSS/kIOS/OBBRSS, private class.
 class MeshDistanceTraversalNodeRSS : public MeshDistanceTraversalNode<RSS>
 {
 public:
diff --git a/src/traversal/traversal_node_octree.h b/src/traversal/traversal_node_octree.h
index 142531ef98a232910073b66ea5e0c9232be944f5..1590c99bc5bf1e33fa9ef611bf06bf10a16e9119 100644
--- a/src/traversal/traversal_node_octree.h
+++ b/src/traversal/traversal_node_octree.h
@@ -51,6 +51,7 @@ namespace fcl
 {
 
 /// @brief Algorithms for collision related with octree
+/// @internal OcTreeSolver, private class.
 class OcTreeSolver
 {
 private:
@@ -889,6 +890,7 @@ private:
 
 
 /// @brief Traversal node for octree collision
+/// @internal OcTreeCollisionTraversalNode, private class.
 class OcTreeCollisionTraversalNode : public CollisionTraversalNodeBase
 {
 public:
@@ -925,6 +927,7 @@ public:
 };
 
 /// @brief Traversal node for octree distance
+/// @internal OcTreeDistanceTraversalNode, private class.
 class OcTreeDistanceTraversalNode : public DistanceTraversalNodeBase
 {
 public:
@@ -959,6 +962,7 @@ public:
 };
 
 /// @brief Traversal node for shape-octree collision
+/// @internal ShapeOcTreeCollisionTraversalNode, private class.
 template<typename S>
 class ShapeOcTreeCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -996,6 +1000,7 @@ public:
 };
 
 /// @brief Traversal node for octree-shape collision
+/// @internal OcTreeShapeCollisionTraversalNode, private class.
 template<typename S>
 class OcTreeShapeCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -1033,6 +1038,7 @@ public:
 };
 
 /// @brief Traversal node for shape-octree distance
+/// @internal ShapeOcTreeCollisionTraversalNode, private class.
 template<typename S>
 class ShapeOcTreeDistanceTraversalNode : public DistanceTraversalNodeBase
 {
@@ -1062,6 +1068,7 @@ public:
 };
 
 /// @brief Traversal node for octree-shape distance
+/// @internal OcTreeShapeDistanceTraversalNode, private class.
 template<typename S>
 class OcTreeShapeDistanceTraversalNode : public DistanceTraversalNodeBase
 {
@@ -1091,6 +1098,7 @@ public:
 };
 
 /// @brief Traversal node for mesh-octree collision
+/// @internal MeshOcTreeCollisionTraversalNode, private class.
 template<typename BV>
 class MeshOcTreeCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -1128,6 +1136,7 @@ public:
 };
 
 /// @brief Traversal node for octree-mesh collision
+/// @internal OcTreeMeshCollisionTraversalNode, private class.
 template<typename BV>
 class OcTreeMeshCollisionTraversalNode : public CollisionTraversalNodeBase
 {
@@ -1165,6 +1174,7 @@ public:
 };
 
 /// @brief Traversal node for mesh-octree distance
+/// @internal MeshOcTreeDistanceTraversalNode, private class.
 template<typename BV>
 class MeshOcTreeDistanceTraversalNode : public DistanceTraversalNodeBase
 {
@@ -1195,6 +1205,7 @@ public:
 };
 
 /// @brief Traversal node for octree-mesh distance
+/// @internal OcTreeMeshDistanceTraversalNode, private class.
 template<typename BV>
 class OcTreeMeshDistanceTraversalNode : public DistanceTraversalNodeBase
 {
diff --git a/src/traversal/traversal_recurse.cpp b/src/traversal/traversal_recurse.cpp
index 5aa55c448893b536e1efc23988af5fda1597ed03..4028f47825dedfb96c6b26593cda3505bd3d0a5a 100644
--- a/src/traversal/traversal_recurse.cpp
+++ b/src/traversal/traversal_recurse.cpp
@@ -89,6 +89,7 @@ void collisionRecurse(CollisionTraversalNodeBase* node, int b1, int b2,
     collisionRecurse(node, b1, c2, front_list, sqrDistLowerBound2);
     sqrDistLowerBound = std::min (sqrDistLowerBound1, sqrDistLowerBound2);
   }
+  return;
 }
 
 void collisionNonRecurse(CollisionTraversalNodeBase* node,