diff --git a/src/bias/MovingRestraint.cpp b/src/bias/MovingRestraint.cpp
index c6ff709a9215c58bd952558991b4f0cb4a3815b4..c6c262d65ee0d4193e97b03d6d121ffaa36d4a78 100644
--- a/src/bias/MovingRestraint.cpp
+++ b/src/bias/MovingRestraint.cpp
@@ -84,11 +84,13 @@ MOVINGRESTRAINT ...
 \endverbatim
 
 By default the Action is issuing some values which are 
-the work on each degree of freedom, the center of the harmoni potential,
+the work on each degree of freedom, the center of the harmonic potential,
 the total bias deposited  
 
 (See also \ref DISTANCE).
 
+\attention Work is not computed properly when KAPPA is time dependent.
+
 */
 //+ENDPLUMEDOC
 
@@ -117,7 +119,7 @@ void MovingRestraint::registerKeywords( Keywords& keys ){
   keys.reset_style("STEP","compulsory");
   keys.add("numbered","AT","ATx is equal to the position of the restraint at time STEPx.  For intermediate times this parameter is linearly interpolated.  If no ATx is specified for STEPx then the values of AT are kept constant during the interval of time between STEPx-1 and STEPx.");
   keys.reset_style("AT","compulsory"); 
-  keys.add("numbered","KAPPA","KAPPAx is equal to the value of the force constants at time STEPx.  For intermediate times this parameter is linearly interpolated.  If no ATx is specified for STEPx then the values of KAPPAx are kept constant during the interval of time between STEPx-1 and STEPx.");
+  keys.add("numbered","KAPPA","KAPPAx is equal to the value of the force constants at time STEPx.  For intermediate times this parameter is linearly interpolated.  If no KAPPAx is specified for STEPx then the values of KAPPAx are kept constant during the interval of time between STEPx-1 and STEPx.");
   keys.reset_style("KAPPA","compulsory");
 }
 
diff --git a/src/colvar/PathMSD.cpp b/src/colvar/PathMSD.cpp
index 5ea9826ba33ec0a39bd4642ef10064856256ac22..6cf459ffe9711ce3d4501513a82cb502e0371261 100644
--- a/src/colvar/PathMSD.cpp
+++ b/src/colvar/PathMSD.cpp
@@ -34,7 +34,7 @@ This Colvar calculates path collective variables.
 This is the Path Collective Variables implementation 
 ( see \cite brand07 ).
 This variable computes the progress along a given set of frames that is provided  
-in input ("s" component) and the distance from them ("z" component). 
+in input ("sss" component) and the distance from them ("zzz" component). 
 (see below).
 
 \par Examples
@@ -44,27 +44,16 @@ calculate the progress alng the path and the distance from it in p1
 
 \verbatim
 p1: PATHMSD REFERENCE=file.pdb  LAMBDA=500.0 NEIGH_STRIDE=1.0 NEIGH_SIZE=8 PROPERTY=X,Y 
-PRINT ARG=p1.s,p1.z STRIDE=1 FILE=colvar FMT=%8.4f
+PRINT ARG=p1.sss,p1.zzz STRIDE=1 FILE=colvar FMT=%8.4f
 \endverbatim
 
 note that NEIGH_STRIDE=1.0 NEIGH_SIZE=8 control the neighborlist parameter (optional but
-recommended for perfomance)
-while PROPERTY=X,Y allows to do an "isomap" style kind of path (a-la Spiwok) 
-where property is in the form of a REMARK line (note no spaces!!!) in the REFERENCE
-e.g.
+recommended for perfomance).
+
+\note
+The implementation of this collective variable and of \ref PROPERTYMAP
+is shared, as well as most input options.
 
-\verbatim
-REMARK X=1 Y=2 
-ATOM      1  CL  ALA     1      -3.171   0.295   2.045  1.00  1.00
-ATOM      5  CLP ALA     1      -1.819  -0.143   1.679  1.00  1.00
-.......
-END
-REMARK X=2 Y=3 
-ATOM      1  CL  ALA     1      -3.175   0.365   2.024  1.00  1.00
-ATOM      5  CLP ALA     1      -1.814  -0.106   1.685  1.00  1.00
-....
-END
-\endverbatim
 
 */
 //+ENDPLUMEDOC
diff --git a/src/colvar/PropertyMap.cpp b/src/colvar/PropertyMap.cpp
index c57d2ff0da73b4a747c8fba2eaad7261f050de5a..4d0e765f199c4bb084d81991d12a95af54a9c62b 100644
--- a/src/colvar/PropertyMap.cpp
+++ b/src/colvar/PropertyMap.cpp
@@ -29,17 +29,11 @@ namespace colvar{
 
 //+PLUMEDOC COLVAR PROPERTYMAP 
 /*
-The implementation of this collective variable is based on the \ref PATHMSD.
+Calculate generic property maps.
 
-A typical input is
+This Colvar calculates the property maps according to the work of Spiwok \cite Spiwok:2011ce.
 
-\par Examples
-\verbatim
-p3: PROPERTYMAP REFERENCE=../../trajectories/path_msd/allv.pdb PROPERTY=X,Y LAMBDA=69087 NEIGH_SIZE=8 NEIGH_STRIDE=0.2
-PRINT ARG=p3.X,p3.Y,p3.zzz STRIDE=1 FILE=colvar FMT=%8.4f
-\endverbatim
 
-where it calculates the property maps according to the work of Spiwok \cite Spiwok:2011ce 
 Basically it calculates
 \f{eqnarray}
 X=\frac{\sum_i X_i*\exp(-\lambda D_i(x))}{\sum_i  \exp(-\lambda D_i(x))} \\
@@ -51,6 +45,12 @@ zzz=-\frac{1}{\lambda}\log(\sum_i  \exp(-\lambda D_i(x)))
 where the parameters \f$X_i\f$  and  \f$Y_i\f$ are provided in the input pdb (allv.pdb in this case) and  
  \f$D_i(x)\f$  is the MSD after optimal alignment calculated on the pdb frames you input (see Kearsley).
 
+\par Examples
+\verbatim
+p3: PROPERTYMAP REFERENCE=../../trajectories/path_msd/allv.pdb PROPERTY=X,Y LAMBDA=69087 NEIGH_SIZE=8 NEIGH_STRIDE=0.2
+PRINT ARG=p3.X,p3.Y,p3.zzz STRIDE=1 FILE=colvar FMT=%8.4f
+\endverbatim
+
 In this case the input line instructs plumed to look for two properties X and Y with attached values in the REMARK 
 line of the reference pdb (Note: No spaces from X and = and 1 !!!!).
 e.g.
@@ -67,6 +67,11 @@ ATOM      5  CLP ALA     1      -1.814  -0.106   1.685  1.00  1.00
 ....
 END
 \endverbatim
+
+\note
+The implementation of this collective variable and of \ref PATHMSD
+is shared, as well as most input options.
+
 */
 //+ENDPLUMEDOC
    
diff --git a/src/generic/Flush.cpp b/src/generic/Flush.cpp
index dfd45b5e356a8ae9e7b852a2da9d965f1b73ef89..da0a62bb3645201c16a647c1e686c286379907ff 100644
--- a/src/generic/Flush.cpp
+++ b/src/generic/Flush.cpp
@@ -35,13 +35,22 @@ This command instructs plumed to flush all the open files with a user specified
 
 This
 is useful for preventing data loss that would otherwise arrise as a consequence of the code
-storing data for printing in the buffers
+storing data for printing in the buffers. Notice that wherever it is written in the 
+plumed input file, it will flush all the open files.
 
 \par Examples
 A command like this in the input will instruct plumed to flush all the output files every 100 steps
 \verbatim
+d1: DISTANCE ATOMS=1,10
+PRINT ARG=d1 STRIDE=5 FILE=colvar1
+
 FLUSH STRIDE=100
+
+d2: DISTANCE ATOMS=2,11
+# also this print is flushed every 100 steps:
+PRINT ARG=d2 STRIDE=10 FILE=colvar2
 \endverbatim
+(see also \ref DISTANCE and \ref PRINT).
 */
 //+ENDPLUMEDOC
 
diff --git a/src/generic/Group.cpp b/src/generic/Group.cpp
index 284c92d10598b20242444851684c7eb642cbbdb9..a1ee4db6cbf9a2445d19dec7e929fec1ceab385f 100644
--- a/src/generic/Group.cpp
+++ b/src/generic/Group.cpp
@@ -34,13 +34,32 @@ namespace generic{
 Define a group of atoms so that a particular list of atoms can be referenced with a single label
 in definitions of CVs or virtual atoms.
 
+Notice that this command just creates a shortcut, and does not imply any real calculation.
+It is just convenient to better organize input files. Might be used in combination with
+the \ref INCLUDE command so as to store long group definitions in a separate files.
+
 \par Examples
-This command creates a group of atoms containing atoms 1,2 and 3 and assigns the label
-g1 to this group.  When the label g1 appears in atom lists it is automatically expanded 
-and replaced by the list of atoms (i.e. atoms 1,2 and 3). 
+
+This command create a group of atoms containing atoms 1,4,7,11 and 14 (labeled 'o'), and another containing
+atoms 2,3,5,6,8,9,12,13 (labeled 'h'):
+\verbatim
+o: GROUP ATOMS=1,4,7,11,14
+h: GROUP ATOMS=2,3,5,6,8,9,12,13
+# compute the coordination among the two groups
+c: COORDINATION GROUPA=o GROUPB=h R_0=0.3
+
+# same could have been obtained without GROUP, just writing:
+# c: COORDINATION GROUPA=1,4,7,11,14 GROUPB=2,3,5,6,8,9,12,13
+\endverbatim
+(see also \ref COORDINATION)
+
+Groups can be conveniently stored in a separate file
 \verbatim
-GROUP ATOMS=1,2,3 LABEL=g1
+INCLUDE groups.dat
+c: COORDINATION GROUPA=o GROUPB=h R_0=0.3
 \endverbatim
+(see also \ref INCLUDE and \ref COORDINATION).
+The groups.dat file could be very long and include lists of thousand atoms without cluttering the main plumed.dat file.
 
 */
 //+ENDPLUMEDOC
diff --git a/src/generic/WholeMolecules.cpp b/src/generic/WholeMolecules.cpp
index 6a31db47f7e1a7e938a581b9f90d9da54107ae11..8f9ae8710cbbcd16f36bbbe35caa45008fdc2f3f 100644
--- a/src/generic/WholeMolecules.cpp
+++ b/src/generic/WholeMolecules.cpp
@@ -41,7 +41,10 @@ namespace generic{
 //+PLUMEDOC GENERIC WHOLEMOLECULES
 /*
 This action is used to rebuild molecules that can become split by the periodic
-boundary conditions in a manner similar to the ALIGN_ATOMS keyword of plumed1.
+boundary conditions.
+
+It is similar to the ALIGN_ATOMS keyword of plumed1, and is needed since some
+MD dynamics code (e.g. GROMACS) can break molecules during the calculation.
 
 Running some CVs without this command can cause there to be discontinuities changes
 in the CV value and artifacts in the calculations.  This command can be applied 
@@ -59,17 +62,23 @@ this action is performed at every MD step.
 \par Examples
 
 This command instructs plumed to reconstruct the molecule containing atoms 1-20
-at every step of the calculation.
+at every step of the calculation and dump them on a file.
 
 \verbatim
+# to see the effect, one could dump the atoms as they were before molecule reconstruction:
+# DUMPATOMS FILE=dump-broken.xyz ATOMS=1-20
 WHOLEMOLECULES STRIDE=1 ENTITY0=1-20
+DUMPATOMS FILE=dump.xyz ATOMS=1-20
 \endverbatim
+(see also \ref DUMPATOMS)
 
 This command instructs plumed to reconstruct two molecules containing atoms 1-20 and 30-40
 
 \verbatim
 WHOLEMOLECULES STRIDE=1 ENTITY0=1-20 ENTITY1=30-40
+DUMPATOMS FILE=dump.xyz ATOMS=1-20,30-40
 \endverbatim
+(see also \ref DUMPATOMS)
 
 This command instructs plumed to reconstruct the chain of backbone atoms in a 
 protein