diff --git a/bob/learn/misc/MAP_gmm_trainer.cpp b/bob/learn/misc/MAP_gmm_trainer.cpp
index e9b0fde0b2a70f0a9c3d4ac347930b72a73cafaf..66b3f04eee3ad02261476d13bc9e61316fa32574 100644
--- a/bob/learn/misc/MAP_gmm_trainer.cpp
+++ b/bob/learn/misc/MAP_gmm_trainer.cpp
@@ -34,8 +34,8 @@ static auto MAP_GMMTrainer_doc = bob::extension::ClassDoc(
 
   .add_parameter("gmm_base_trainer", ":py:class:`bob.learn.misc.GMMBaseTrainer`", "A GMMBaseTrainer object.")
   .add_parameter("prior_gmm", ":py:class:`bob.learn.misc.GMMMachine`", "The prior GMM to be adapted (Universal Backgroud Model UBM).")
-  .add_parameter("reynolds_adaptation", "bool", "Will use the Reynolds adaptation factor? See Eq (14) from [Reynolds2000]_")
-  .add_parameter("relevance_factor", "double", "If set the reynolds_adaptation parameters, will apply the Reynolds Adaptation Factor. See Eq (14) from [Reynolds2000]_")
+  .add_parameter("reynolds_adaptation", "bool", "Will use the Reynolds adaptation procedure? See Eq (14) from [Reynolds2000]_")
+  .add_parameter("relevance_factor", "double", "If set the reynolds_adaptation parameters, will apply the Reynolds Adaptation procedure. See Eq (14) from [Reynolds2000]_")
   .add_parameter("alpha", "double", "Set directly the alpha parameter (Eq (14) from [Reynolds2000]_), ignoring zeroth order statistics as a weighting factor.")
   .add_parameter("other", ":py:class:`bob.learn.misc.MAP_GMMTrainer`", "A MAP_GMMTrainer object to be copied.")
 );
diff --git a/bob/learn/misc/ML_gmm_trainer.cpp b/bob/learn/misc/ML_gmm_trainer.cpp
index bddc9dee3749e9d09d0d0511bd3b06b343714ae6..b0b2379fe9cc85692c69f701b7eb56700b30b93a 100644
--- a/bob/learn/misc/ML_gmm_trainer.cpp
+++ b/bob/learn/misc/ML_gmm_trainer.cpp
@@ -221,7 +221,7 @@ static PyObject* PyBobLearnMiscMLGMMTrainer_initialize(PyBobLearnMiscMLGMMTraine
 /*** mStep ***/
 static auto mStep = bob::extension::FunctionDoc(
   "mStep",
-  "Performs a maximum likelihood (ML) update of the GMM parameters"
+  "Performs a maximum likelihood (ML) update of the GMM parameters "
   "using the accumulated statistics in :py:class:`bob.learn.misc.GMMBaseTrainer.m_ss`",
 
   "See Section 9.2.2 of Bishop, \"Pattern recognition and machine learning\", 2006",
diff --git a/bob/learn/misc/__MAP_gmm_trainer__.py b/bob/learn/misc/__MAP_gmm_trainer__.py
index d20efb52311623425d4ff408444b2acfbf744c29..a41855bcf5650012ab60ea11ae79393c5d541b4b 100644
--- a/bob/learn/misc/__MAP_gmm_trainer__.py
+++ b/bob/learn/misc/__MAP_gmm_trainer__.py
@@ -13,30 +13,28 @@ class MAP_GMMTrainer(_MAP_GMMTrainer):
 
   def __init__(self, gmm_base_trainer, prior_gmm, convergence_threshold=0.001, max_iterations=10, converge_by_likelihood=True, reynolds_adaptation=False, relevance_factor=4., alpha=0.5):
     """
-    :py:class:bob.learn.misc.MAP_GMMTrainer constructor
+    :py:class:`bob.learn.misc.MAP_GMMTrainer` constructor
 
     Keyword Parameters:
       gmm_base_trainer
-        The base trainer (:py:class:`bob.learn.misc.GMMBaseTrainer`
+        The base trainer (:py:class:`bob.learn.misc.GMMBaseTrainer`)
       prior_gmm
-        
+        A :py:class:`bob.learn.misc.GMMMachine` to be adapted
       convergence_threshold
         Convergence threshold
       max_iterations
         Number of maximum iterations
       converge_by_likelihood
         Tells whether we compute log_likelihood as a convergence criteria, or not 
-    
       reynolds_adaptation
-      
+        Will use the Reynolds adaptation procedure? See Eq (14) from [Reynolds2000]_
       relevance_factor
-      
+        If set the :py:class:`bob.learn.misc.MAP_GMMTrainer.reynolds_adaptation` parameters, will apply the Reynolds Adaptation procedure. See Eq (14) from [Reynolds2000]_  
       alpha
-        
+        Set directly the alpha parameter (Eq (14) from [Reynolds2000]_), ignoring zeroth order statistics as a weighting factor.
     """
 
-    #_MAP_GMMTrainer.__init__(self, gmm_base_trainer, prior_gmm, reynolds_adaptation=reynolds_adaptation, relevance_factor=relevance_factor, alpha=alpha)
-    _MAP_GMMTrainer.__init__(self, gmm_base_trainer, prior_gmm, reynolds_adaptation, relevance_factor=relevance_factor, alpha=alpha)
+    _MAP_GMMTrainer.__init__(self, gmm_base_trainer, prior_gmm, reynolds_adaptation=reynolds_adaptation, relevance_factor=relevance_factor, alpha=alpha)
     
     self.convergence_threshold  = convergence_threshold
     self.max_iterations         = max_iterations
diff --git a/bob/learn/misc/gmm_stats.cpp b/bob/learn/misc/gmm_stats.cpp
index f7f38019506dfb3ef5b7a4fb2f6d93b4fc427baf..9f859ffbebe56bd0e367082d9e4a47fdbd074056 100644
--- a/bob/learn/misc/gmm_stats.cpp
+++ b/bob/learn/misc/gmm_stats.cpp
@@ -177,7 +177,7 @@ int PyBobLearnMiscGMMStats_Check(PyObject* o) {
 /***** n *****/
 static auto n = bob::extension::VariableDoc(
   "n",
-  "array_like <double, 1D>",
+  "array_like <float, 1D>",
   "For each Gaussian, the accumulated sum of responsibilities, i.e. the sum of :math:`P(gaussian_i|x)`"
 );
 PyObject* PyBobLearnMiscGMMStats_getN(PyBobLearnMiscGMMStatsObject* self, void*){
@@ -204,7 +204,7 @@ int PyBobLearnMiscGMMStats_setN(PyBobLearnMiscGMMStatsObject* self, PyObject* va
 /***** sum_px *****/
 static auto sum_px = bob::extension::VariableDoc(
   "sum_px",
-  "array_like <double, 2D> ",
+  "array_like <float, 2D>",
   "For each Gaussian, the accumulated sum of responsibility times the sample"
 );
 PyObject* PyBobLearnMiscGMMStats_getSum_px(PyBobLearnMiscGMMStatsObject* self, void*){
@@ -231,7 +231,7 @@ int PyBobLearnMiscGMMStats_setSum_px(PyBobLearnMiscGMMStatsObject* self, PyObjec
 /***** sum_pxx *****/
 static auto sum_pxx = bob::extension::VariableDoc(
   "sum_pxx",
-  "array_like <double, 2D> ",
+  "array_like <float, 2D>",
   "For each Gaussian, the accumulated sum of responsibility times the sample squared"
 );
 PyObject* PyBobLearnMiscGMMStats_getSum_pxx(PyBobLearnMiscGMMStatsObject* self, void*){
@@ -288,7 +288,7 @@ int PyBobLearnMiscGMMStats_setT(PyBobLearnMiscGMMStatsObject* self, PyObject* va
 /***** log_likelihood *****/
 static auto log_likelihood = bob::extension::VariableDoc(
   "log_likelihood",
-  "double ",
+  "double",
   "The accumulated log likelihood of all samples"
 );
 PyObject* PyBobLearnMiscGMMStats_getLog_likelihood(PyBobLearnMiscGMMStatsObject* self, void*){