diff --git a/CMakeLists.txt b/CMakeLists.txt
index d692db2400cc152bb0fa45e6308dd99560a57d97..6b43e5f80ad7a8060b5c60cd3cb4e484e10d640c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,6 +27,8 @@ SET(PROJECT_NAME pinocchio)
 SET(PROJECT_DESCRIPTION "Rigid multi body dynamics algorithms")
 SET(PROJECT_URL "http://github.com/stac-of-tasks/pinocchio")
 
+SET(DOXYGEN_USE_MATHJAX YES)
+
 IF(APPLE)
   SET(CMAKE_MACOSX_RPATH 1)
 ENDIF(APPLE)
diff --git a/doc/additionalDoc/crtp.hh b/doc/additionalDoc/crtp.hh
index f783c0ebff3ad8d5e4e5a71266841da300ea43ef..92d12457897cfac3941a6eebfb3c802dd574cc83 100644
--- a/doc/additionalDoc/crtp.hh
+++ b/doc/additionalDoc/crtp.hh
@@ -1,6 +1,6 @@
 //
 // Copyright (c) 2016 CNRS
-// Author: Florent Lamiraux
+// Author: Florent Lamiraux, Justin Carpentier
 //
 // This file is part of Pinocchio
 // Pinocchio is free software: you can redistribute it
@@ -18,9 +18,10 @@
 
 /** \page pinocchio_page_crtp Curiously recurring template pattern
 
-Pinocchio library makes intensive use of the so called CRTP desing
-pattern. This patterns is used for performance reasons in the
-implementation of static polymorphism.
+Like Eigen, Pinocchio library makes intensive use of the so called CRTP design
+pattern. This pattern is used for performance reasons in the
+implementation of static polymorphism, avoiding dynamic casts and calls to virtual methods.
+All in all, CRTP plays a central role in the performance of Pinocchio.
 
-\sa https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
+We refer to  https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern for further explanations.
  */
diff --git a/doc/additionalDoc/package.hh b/doc/additionalDoc/package.hh
index 57fac3677775c12125497e5ae117679131704962..13808caec16ddb36439b39d70d611a2af72e2cd9 100644
--- a/doc/additionalDoc/package.hh
+++ b/doc/additionalDoc/package.hh
@@ -1,6 +1,6 @@
 //
 // Copyright (c) 2016 CNRS
-// Author: Florent Lamiraux
+// Author: Florent Lamiraux, Justin Carpentier
 //
 // This file is part of Pinocchio
 // Pinocchio is free software: you can redistribute it
@@ -17,28 +17,40 @@
 // <http://www.gnu.org/licenses/>.
 
 /** \mainpage
-\section pinocchio_section_introduction Introduction
 
-This package implements efficient forward kinematics algorithms for multi-body
-kinematic chains. One of the main features is the separation between models (constant values representing an object) and data (used for intermediate computations).
+This is the documentation of Pinocchio, the Eigen-like library for Rigid Body Dynamics computations.
+This library implements highly efficient kinematic and dynamic algorithms for multi-body systems making Pinocchio a versatile framework for robotics applications.
+
+\section pinocchio_section_installation Installation
+
+Please refer to the GitHub page of the project for installation details:
+https://github.com/stack-of-tasks/pinocchio 
 
-The main classes are
+\section pinocchio_section_introduction Introduction
+
+One of the main features is the separation between models (constant values representing an object) and data (used for intermediate computations).
+The two main classes are:
 \li se3::Model that represents a kinematic chain composed of joints that move
     links with mass and inertia,
-\li se3::Data that stores intermediate data for kinematic computations.
+\li se3::Data that stores intermediate data for kinematic and dynamic computations.
+
+\section pinocchio_section_spatial_algebra Spatial Algebra
 
-\section pinocchio_section_kinematics Kinematics
+The library provides some classes to represent spatial quantities at the root of kinematic and dynamic computations. This main classes are reported below:
+\li se3::SE3Tpl represents a rigid placement, a mathematical representation of \f$ SE(3) \f$.
+\li se3::MotionTpl represents a spatial motion (linear and angular velocities), e.g. a spatial velocity or acceleration associated to a frame or a body. The spatial motion is the mathematical representation of \f$ se(3) \f$.
+\li se3::ForceTpl represents a spatial force, e.g. a spatial impulse or force associated to a body. The spatial force is the mathematical representation of \f$ se^{*}(3) \f$, the dual of \f$ se(3) \f$.
+\li se3::InertiaTpl represents a spatial inertia characterizing a rigid body and expressed in a given frame. This inertia is composed of mass, the position of the center of mass regarding to the frame and a rotational inertia.
 
-The library provides some classes to represent kinematic objects:
-\li se3::SE3Tpl represents a rigid-body transformation.
+\section pinocchio_section_algos Main Algorithms
 
-\section pinocchio_section_collision_checking Collision Checking
+\section pinocchio_section_collision_checking Collision checking and distance computation
 
-Collision checking between bodies of the kinematic chain and external
+Collision checking between two bodies of the kinematic chain and external
 obstacles is implemented using library hpp-fcl (a modified version of
 Flexible Collision Library). The computation of the position of objects in 3D
 space for a given configuration is performed by the following classes:
-\li se3::GeometryModel that represents a kinematic chain moving objects,
+\li se3::GeometryModel that represents the collision objects associated to a joint stored in a se3::Model,
 \li se3::GeometryData that stores intermediate data like the position of objects
 in a given configuration of the kinematic chain.
 **/