diff --git a/developer-doc/mdTemplate.txt b/developer-doc/mdTemplate.txt
index 96058d85e467e8563db5ce7297f04a38c25b9abb..2a3afe66b6d25a4582ec2e5ff0d361808cd57354 100644
--- a/developer-doc/mdTemplate.txt
+++ b/developer-doc/mdTemplate.txt
@@ -212,6 +212,9 @@ plumed_cmd(plumedmain,"setKbT",&kbT);                          // Pointer to a r
 // This is valid only if API VERSION > 2
 plumed_cmd(plumedmain,"setRestart",&res);                      // Pointer to an integer saying if we are restarting (zero means no, one means yes)
 
+// This is valid only if API VERSION > 3
+plumed_cmd(plumedmain,"readInputLine","d: DISTANCE ATOMS=1,2");// Read a single input line directly from a string
+
 // Calls to do the actual initialization (all the above commands must appear before this call)
 plumed_cmd(plumedmain,"init",NULL);                            // Do all the initialization of plumed
 plumed_cmd(plumedmain,"read",read);                            // Read the plumed input.  N.B. This is called during init and so this call is only required in special cases. 
@@ -257,6 +260,12 @@ plumed_cmd(plumedmain,"calc",NULL);                          // Calculate and ap
 // One can break up the "calc" command in two parts:
 plumed_cmd(plumedmain,"prepareCalc",NULL);                   // Prepare to do a calculation by requesting all the atomic positions from the MD code
 plumed_cmd(plumedmain,"performCalc",NULL);                   // Use the atomic positions collected during prepareCalc phase to calculate colvars and biases.
+// The "performCalc" step can be further split into:
+// This is valid only if API VERSION > 3
+plumed_cmd(plumedmain,"performCalcNoUpdate",NULL);           // Same as "performCalc", skipping the update phase. Could be called multiple time per step
+// This is valid only if API VERSION > 3
+plumed_cmd(plumedmain,"update",NULL);                        // Only performs the update phase. Should be called once per step
+
 // After the first part it will be possible to ask PLUMED e.g. if the energy is required with
 plumed_cmd(plumedmain,"isEnergyNeeded,&flag);                // assuming flag is an int, that will be set to 0 if energy is not needed and 1 if it is needed