Index: doc/userguide/userguide.xml
===================================================================
--- doc/userguide/userguide.xml	(revision 310445ae3f74d3bff54d4b01f5f6129317e83a7e)
+++ doc/userguide/userguide.xml	(revision 9a477235243f25543ab86842c49bead67c602324)
@@ -8,5 +8,5 @@
 <!ENTITY example_basic_view SYSTEM "pictures/example_basic_view.png" NDATA PNG>
 ]>
-<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0">
+<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" version="5.0">
   <info>
     <title>MoleCuilder - a Molecule Builder</title>
@@ -53,5 +53,9 @@
       molecular systems, and on scriptability. The last being important a eventually not a single, but
       many, related molecular systems have to be created.</para>
-      <para>We hope you will enjoy using MoleCuilder as much as we had creating it and still continue extending it. It obtains its flexibility from the use of agile programming techniques and state-of-the-art libraries such as Boost. If you feel dissatiesfied with certain parts, please do not hesitate to give feedback (see below).</para>
+      <para>We hope you will enjoy using MoleCuilder as much as we had creating 
+      it and still continue extending it. It obtains its flexibility from the use of
+       agile programming techniques and state-of-the-art libraries such as Boost. 
+       If you feel dissatiesfied with certain parts, please do not hesitate to give
+        feedback (see below).</para>
       <section xml:id="installation">
         <title xml:id="installation.title">Installation requirements</title>
@@ -161,9 +165,16 @@
           <para>Domain</para>
           <para>The domain refers to the simulation domain. It is the
-          parallelepiped in <inlineequation>
-              <m:math display="inline">
-                <m:mi>\mathbb{R}^3</m:mi>
-              </m:math>
-            </inlineequation>where either periodic, wrapped, or open boundary
+          parallelepiped in 
+          <inlineequation>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:msup>
+                    <mml:mi>R</mml:mi>
+                    <mml:mn>3</mml:mn>
+                  </mml:msup>
+                </mml:mrow>
+              </mml:math>
+            </inlineequation> 
+            where either periodic, wrapped, or open boundary
           conditions apply. The domain contains all atoms, i.e. the box
           containing all atoms.</para>
@@ -385,8 +396,25 @@
           <para>This will load another file <filename>water.xyz</filename>,
           however changes will still be written to files prefixed with
-          <filename>water</filename> as designated by the <emphasis role="bold">input</emphasis> command. Note that now already two state files
-          will stored, <filename>water.data</filename> and
+          <filename>water</filename> as designated by the 
+          <emphasis role="bold">input</emphasis> command. Note that now already 
+          two state files will stored, <filename>water.data</filename> and
           <filename>water.xyz</filename> as these two different file formats
-          have been used. This is the default behavior: any additional file format used in loading is registered internally and the output file will then be written in all registered formats on exit.</para>
+          have been used. This is the default behavior: any additional file 
+          format used in loading is registered internally and the output file
+           will then be written in all registered formats on exit.</para>
+          <note>If the loaded file is empty, then no parser is registered. This
+           means if a new state file needs to be written,then the output format
+           has to be stated explicitly, e.g.
+          <programlisting>... --input hydrogen.xyz \
+    --set-output xyz \
+    --add-atom H --domain-position "0,0,0" </programlisting>
+           </note>
+          <note xml:id="various.fastparsing">
+          <para>In the case that parsing all time steps from a given input 
+          file will take too long, especially for larger systems, fast parsing 
+          may be activated, only the first time step is loaded, all other are
+           ignored.</para>
+          <programlisting>... --fastparsing 1</programlisting>
+        </note>
         </section>
         <section xml:id="fileparsers.set-output">
@@ -401,11 +429,19 @@
         <link linkend="fileformats">File formats</link> for the list of all file formats available.</para>
         </section>
-        <section xml:id="fileparsers.output-as">
-          <title xml:id="fileparsers.output-as.title">Output the World</title>
-          <para>This will store the current World, i.e. all its atoms, to a 
-          given file, where the output format is determined from the file
-          suffix.</para>
+        <section xml:id="fileparsers.storing">
+          <title xml:id="fileparsers.storing.title">Storing to files</title>
+          <para>Storing the current World, i.e. all its atoms, to a 
+          given file, happens automaticallyon program exists if an 
+          <link linkend="fileparsers.parsing">input</link> file has been 
+          specified. However, this can also be forced at any point in between
+          by using one of two actions:</para>
+          <programlisting>... --output</programlisting>
+          <para>This action does not use an argument and will simply use the 
+          currently registered input file and store the state of the World there
+          This is handy if an intermediate state is required (making sense for 
+          interactive and python interfaces).</para>
           <programlisting>... --output-as world.xyz</programlisting>
-          <para>This will be automatically done on program exit, but in case an intermediate state is required (making sense for interactive and python interfaces), this command can be used.</para>
+          <para>This action on the other hand will be write the current state
+          to a new file "world.xyz".</para>
         </section>
         <section xml:id="fileparsers.save-selected-molecules">
@@ -491,5 +527,7 @@
               </listitem>
               <listitem>
-                <para>By Shape (all atoms inside the volume specified by the currently selected shape)</para>
+                <para id="selections.select-atom-inside-volume">By Shape (all 
+                atoms inside the volume specified by the currently selected
+                 shape)</para>
                 <programlisting>
                 ... --select-atom-inside-volume
@@ -511,5 +549,6 @@
               <listitem>
                 <para>Push/Pop the current selection to/from a stack to store 
-  it momentarily and allow modifications in MakroActions (this is very specific and used mostly internally).</para>
+                it momentarily and allow modifications in MakroActions (this is
+                 very specific and used mostly internally).</para>
                 <programlisting>
                 ... --push-atom-selection
@@ -646,4 +685,9 @@
         combining a sphere with the negated (<emphasis role="italic">not</emphasis> operation) of a smaller sphere, we
         obtain a spherical surface of specific thickness.</para>
+        <note>Shapes are especially useful in the QtGui where all selected
+        shapes are visualized by their translucent boundary. This makes it
+        especially easy to e.g. recognize all atoms that would be removed
+        after <link linkend="selections.select-atom-inside-volume">selecting
+        all atoms inside the volume</link> of a selected shape.</note>
         <section xml:id="shapes.create-shape">
           <title xml:id="shapes.create-shape.title">Creating shapes</title>
@@ -785,7 +829,13 @@
           <programlisting>
   ... --distance-to-vector &quot;distance_vec&quot; \
+      --reverse 0
           </programlisting>
           <para>where the distance vector can be referenced by &quot;distance_vec&quot; 
           from then on in other Actions requiring a vector as input.</para>
+          <note>Since selected atoms are used in the fixed order of their ids
+           (and not in the order they were clicked at in 
+           <link linkend="graphical-user-interface">QtGui</link>), the 
+           direction can be inverted by giving the "reverse" option. It is
+           off (or 0) by default.</note>
         </section>
         <section xml:id="geometry.input-to.vector">
@@ -809,7 +859,9 @@
           <programlisting>
   ... --plane-to-vector &quot;planenormal&quot; \
+      --reverse 1
           </programlisting>
           <para>where the plane's normal vector can be referenced by 
-          &quot;planenormal&quot;.</para>
+          &quot;planenormal&quot;. The additional "reverse" option will invert
+          the plane's normal vector as this is ambiguous about the direction.</para>
         </section>
         <section xml:id="geometry.position-to.vector">
@@ -823,5 +875,5 @@
         </section>
         <section xml:id="geometry.remove-geometry">
-          <title xml:id="geometry.remove-geometry.title">Remove A stored vector</title>
+          <title xml:id="geometry.remove-geometry.title">Remove a stored vector</title>
           <para>Finally, a stored vector can also be removed.</para>
           <programlisting>
@@ -859,4 +911,8 @@
         <para>Specifying the seed allows you to obtain the same sequence of
         random numbers for testing purposes.</para>
+        <para>Moreover, actions such as 
+        <link linkend="atoms.random-perturbation">random perturbation</link>
+        of atoms and <link linkend="filling">filling</link> of molecules into the
+        domain use the random number generator.</para>
       </section>
       <section xml:id="atoms">
@@ -883,7 +939,6 @@
           <para>The positions of a set of selected atom(s) can be randomly 
           perturbed by giving a maximum noise level..</para>
-          <programlisting>
-          ... --random-number-distribution "uniform_01"
-      --random-perturbation 0.1</programlisting>
+          <programlisting>... --random-number-distribution "uniform_01" \
+    --random-perturbation 0.1</programlisting>
           <para>This will perturb all atomic positions by adding a vector
           with components chosen randomly from the interval [-level, level].</para>
@@ -910,7 +965,9 @@
           <para>A number of hydrogen atoms is added around each selected atom 
           corresponding to the valence of the chemical element. The hydrogen 
-          atoms are placed in the same distance to this atom and approximately 
-          with same distance to their nearest neighbors. Already present bonds 
-          (i.e. the position of neighboring atoms) is taken into account.</para>
+          atoms are placed at the same distance to the selected atom which is
+          taken from an internal database for the typical hydrogen bond length 
+          and approximately with same distance to their nearest neighbor 
+          hydrogens. Already present bonds (i.e. the position of neighboring 
+          atoms) are taken into account and left intact.</para>
         </section>
         <section xml:id="atoms.translate-atom">
@@ -936,6 +993,6 @@
           <programlisting>
   ... --mirror-atoms &quot;1,0,0&quot; \
-                    --plane-offset 10.1 \
-                    --periodic 0
+      --plane-offset 10.1 \
+      --periodic 0
    </programlisting>
          <para>And of course instead of giving an explicit vector you may also 
@@ -970,28 +1027,54 @@
           <para>In case you have loaded a configuration file with no bond
           information, e.g. XYZ, it is necessary to create the bond graph.
-          This is done by a heuristic distance criterion.</para>
-          <programlisting>... --create-adjacency</programlisting>
-          <para>This uses by default a criterion based on van-der-Waals radii,
+          This is done by either of two options, based on a heuristic criterion.</para>
+          <para>By default it is based on van-der-Waals radii,
           i.e. if we look at two atoms indexed by &quot;a&quot; and &quot;b&quot;</para>
           <equation>
-            <title>V(a) + V(b) - \tau &lt; R_{ab} &lt; V(a) + V(b) + \tau</title>
-            <m:math display="block">
-              <m:mi>where V(.) is the lookup table for the radii for a given element and \tau is a threshold value, set to 0.4.</m:mi>
-            </m:math>
+            <title></title>
+            <mml:math display="block">
+              <mml:mrow>
+                <mml:mi>V(a) + V(b) - &tau; &lt;</mml:mi>
+                <mml:msub>
+                  <mml:mi>R</mml:mi>
+                  <mml:mn>ab</mml:mn>
+                </mml:msub>
+                <mml:mi>&lt; V(a) + V(b) + &tau;</mml:mi>
+              </mml:mrow>
+            </mml:math>
           </equation>
-          <para>As a second option, you may load a file containing bond table
+          where 
+          <inlineequation>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:mi>V(.)</mml:mi>
+                </mml:mrow>
+              </mml:math>
+            </inlineequation> 
+          is the lookup table for the radii for a given element and \tau is a threshold value, set to 0.4.
+          <para>As a alternative option, you may load a file containing bond table
           information.</para>
           <programlisting>... --bond-table table.dat</programlisting>
           <para>which would parse a file <filename>table.dat</filename> for a
           table giving typical bond distances between elements a and b. These
-          are used in the above criterion as <inlineequation>
-              <m:math display="inline">
-                <m:mi>V(a,b)</m:mi>
-              </m:math>
-            </inlineequation> in place of <inlineequation>
-              <m:math display="inline">
-                <m:mi>V(a)+V(b)</m:mi>
-              </m:math>
-            </inlineequation>.</para>
+          are used in the above criterion as 
+          <inlineequation>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:mi>V(a,b)</mml:mi>
+                </mml:mrow>
+              </mml:math>
+            </inlineequation> 
+            in place of 
+            <inlineequation>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:mi>V(a) + V(b)</mml:mi>
+                </mml:mrow>
+              </mml:math>
+            </inlineequation>
+            .</para>
+            <para>In either case,</para>
+          <programlisting>... --create-adjacency</programlisting>
+          <para> will then create the bond graph based on above criterion.</para>
         </section>
         <section xml:id="bond.destroy-adjacency">
@@ -1025,13 +1108,10 @@
           <title xml:id="bond.subgraph-dissection.title">Dissecting the molecular system into molecules</title>
           <para>The bond graph information can be used to recognize the
-          molecules within the system. Imagine you have just loaded a PDB file
-          containing bond information. However, initially all atoms are dumped
-          into the same molecule. Before you can start manipulating, you need
-          to dissect the system into individual molecules. Note that this is
-          just structural information and does not change the state of the
-          system.</para>
+          molecules within the system. It removes the current bond graph (if 
+          any bonds are presents) and recreates it. Afterwards it walks it along
+          and finds any disconnected subgraphs, associating a molecule with 
+          each. Note that this is just structural information and does not 
+          change the state of the system.</para>
           <programlisting>... --subgraph-dissection</programlisting>
-          <para>This analyses the bond graph, removes all currently present molecules and creates new molecules that each contain a single connected
-          subgraph, hence the naming of the Action.</para>
         </section>
         <section xml:id="bond.update-molecules">
@@ -1039,5 +1119,9 @@
           <para>When the bond information has changed, new molecules might 
           have formed, this action updates all the molecules by scanning
-          the connectedness of the bond graph of the molecular system.
+          the connectedness of the bond graph of the molecular system. </para>
+          <para>Moreover, Imagine you have just loaded a PDB file
+          containing bond information. However, initially all atoms are dumped
+          into the same molecule. Before you can start manipulating, you need
+          to dissect the system into individual molecules. 
           </para>
           <programlisting>... --update-molecules</programlisting>
@@ -1081,7 +1165,6 @@
         <section xml:id="bond.save-bonds">
           <title xml:id="bond.save-bonds.title">Saving bond information </title>
-          <para>Bond information can be saved to a file in <link xlink:href="http://www.molecuilder.com/">
-              <productname>TREMOLO </productname>
-            </link>&apos;s dbond style.</para>
+          <para>Bond information can be saved to a file in
+              <productname>TREMOLO </productname>&apos;s dbond style.</para>
           <programlisting>... --save-bonds system.dbonds</programlisting>
           <para>Similarly is the following Action which saves the bond
@@ -1200,5 +1283,5 @@
           <programlisting>
   ... --rotate-around-bond &quot;90&quot; \
-      --bond-side 0\
+      --bond-side 0
    </programlisting>
         </section>
@@ -1254,10 +1337,25 @@
       --keep-fixed-CenterOfMass 0
    </programlisting>
-          <para>This will integrate with a timestep of <inlineequation>
-              <m:math display="inline">
-                <m:mi>\Delta_t = 0.1</m:mi>
-              </m:math>
-            </inlineequation>and correcting forces and velocities such that
+          <para>This will integrate with a timestep of 
+          <inlineequation>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:mi>
+                    <mml:msub>
+                      <mml:mi>&Delta;</mml:mi>
+                      <mml:mn>t</mml:mn>
+                    </mml:msub>
+                    <mml:mi>= V(a) + V(b)</mml:mi>
+                  </mml:mi>
+                </mml:mrow>
+              </mml:math>
+            </inlineequation>
+            and correcting forces and velocities such that
           the sum over all atoms is zero.</para>
+          <note>Although it may be useful in rare cases to use this Action 
+          directly, most of the time it is far more convenient to use the
+          MakroAction <link linkend="dynamics.molecular-dynamics">molecular-dynamics</link>
+          which incorporates also the force calculation and allows for time
+          integration over more than just a single time step.</note>
         </section>
         <section xml:id="molecule.force-annealing">
@@ -1271,11 +1369,14 @@
           units and do not create a new timestep for each optimization
           step.</para>
-          <programlisting>
-          ... --force-annealing \
-          --forces-file test.forces \
-          --deltat 0.5 \
-          --steps 1 \
-          --output-every-step 0
+          <programlisting>... --force-annealing \
+    --forces-file test.forces \
+    --deltat 0.5 \
+    --steps 1 \
+    --output-every-step 0
           </programlisting>
+          <note>Same as before, although in rare useful, we refer to the
+          MakroAction <link linkend="dynamics.optimize-structure">optimize-structure</link>
+          which incorporates also the force calculation and allows for 
+          structure optimization over more than just a single step.</note>
         </section>
         <section xml:id="molecule.linear-interpolation-of-trajectories">
@@ -1289,10 +1390,9 @@
           case an identity mapping is used to associated atoms in start and
           end configuration.</para>
-          <programlisting>
-          ... --linear-interpolation-of-trajectories \
-          --start-step 0 \
-          --end-step 1 \
-          --interpolation-steps 100 \
-          --id-mapping 1
+          <programlisting>... --linear-interpolation-of-trajectories \
+    --start-step 0 \
+    --end-step 1 \
+    --interpolation-steps 100 \
+    --id-mapping 1
           </programlisting>
         </section>
@@ -1355,5 +1455,5 @@
           <programlisting>... --scale-box &quot;1,1,2.5&quot;</programlisting>
           <para>Here, the domain is stretched in the z direction by a factor
-          of 2.5.</para>
+          of 2.5. Also, all positions are scaled by the same factor.</para>
         </section>
         <section xml:id="domain.repeat-box">
@@ -1522,13 +1622,12 @@
           water one might be interested what is the typical distance for
           hydrogen and oxygen atoms.</para>
-          <programlisting>
-          ... --pair-correlation \
-              --elements 1 8 \
-              --bin-start 0 \
-              --bin-width 0.7 \
-              --bin-end 10 \
-              --output-file histogram.dat \
-              --bin-output-file bins.dat \
-              --periodic 0
+          <programlisting>... --pair-correlation \
+    --elements 1 8 \
+    --bin-start 0 \
+    --bin-width 0.7 \
+    --bin-end 10 \
+    --output-file histogram.dat \
+    --bin-output-file bins.dat \
+    --periodic 0
           </programlisting>
           <para>This will compile a histogram for the interval [0,10] in steps
@@ -1544,12 +1643,11 @@
           <para>Note that the dipole correlation works on the currently 
           selected molecules, e.g. all water molecules if so selected.</para>
-          <programlisting>
-          ... --dipole-correlation \
-              --bin-start 0 \
-              --bin-width 0.7 \
-              --bin-end 10 \
-              --output-file histogram.dat \
-              --bin-output-file bins.dat \
-              --periodic 0
+          <programlisting>... --dipole-correlation \
+    --bin-start 0 \
+    --bin-width 0.7 \
+    --bin-end 10 \
+    --output-file histogram.dat \
+    --bin-output-file bins.dat \
+    --periodic 0
           </programlisting>
           <para>Hence, instead of calculating a function of the distance in [0,infinity), it calculates the angular histogram in [0,2pi).</para>
@@ -1567,13 +1665,12 @@
           might change.
           </para>
-          <programlisting>
-          ... --dipole-angular-correlation H2O \
-              --bin-start 0 \
-              --bin-width 5 \
-              --bin-end 360 \
-              --output-file histogram.dat \
-              --bin-output-file bins.dat \
-              --periodic 0 \
-              --time-step-zero 0
+          <programlisting>... --dipole-angular-correlation H2O \
+    --bin-start 0 \
+    --bin-width 5 \
+    --bin-end 360 \
+    --output-file histogram.dat \
+    --bin-output-file bins.dat \
+    --periodic 0 \
+    --time-step-zero 0
           </programlisting>
         </section>
@@ -1583,14 +1680,13 @@
           that it correlates not positions of atoms among one another but
           against a fixed, given point.</para>
-          <programlisting>
-          ... --point-correlation \
-              --elements 1 8 \
-              --position &quot;0,0,0&quot; \
-              --bin-start 0 \
-              --bin-width 0.7 \
-              --bin-end 10 \
-              --output-file histogram.dat \
-              --bin-output-file bins.dat \
-              --periodic 0
+          <programlisting>... --point-correlation \
+    --elements 1 8 \
+    --position &quot;0,0,0&quot; \
+    --bin-start 0 \
+    --bin-width 0.7 \
+    --bin-end 10 \
+    --output-file histogram.dat \
+    --bin-output-file bins.dat \
+    --periodic 0
           </programlisting>
           <para>This would calculate the correlation of all hydrogen and
@@ -1604,13 +1700,12 @@
           <para>The surface correlation calculates the distance of a set
           of atoms with respect to a tesselated surface.</para>
-          <programlisting>
-          ... --surface-correlation \
-              --elements 1 8 \
-              --bin-start 0 \
-              --bin-width 0.7 \
-              --bin-end 10 \
-              --output-file histogram.dat \
-              --bin-output-file bins.dat \
-              --periodic 0
+          <programlisting>... --surface-correlation \
+    --elements 1 8 \
+    --bin-start 0 \
+    --bin-width 0.7 \
+    --bin-end 10 \
+    --output-file histogram.dat \
+    --bin-output-file bins.dat \
+    --periodic 0
           </programlisting>
         </section>
@@ -1619,8 +1714,10 @@
           <para>This simply calculates the volume that a selected molecule
           occupies. For this the molecular surface is determined via a
-(convex)           tesselation of its surface. Note that this surface is minimal is that aspect
-          that each node of the tesselation consists of an atom of the
-          molecule.</para>
+          tesselation of its surface. Note that this surface is minimal in 
+          that respect that each node of the tesselation consists of an atom 
+          of the molecule.</para>
           <programlisting>... --molecular-volume</programlisting>
+          <note>The rolling sphere used in the tesselation algorithm has a 
+          default diameter of 10 angström.</note>
         </section>
         <section xml:id="analysis.average-molecule-force">
@@ -1651,13 +1748,26 @@
         <para>The reason for doing this is that usual ab-initio calculations
         of molecular systems via methods such as Density Functional Theory or
-        Hartree-Fock scale at least as <inlineequation>
-            <m:math display="inline">
-              <m:mi>{\cal O}(M^3}</m:mi>
-            </m:math>
-          </inlineequation>with the number of atoms <inlineequation>
-            <m:math display="inline">
-              <m:mi>M</m:mi>
-            </m:math>
-          </inlineequation>. In general, this cost is prohibitive for calculating ground state energies and forces (required for molecular dynamics simulations) for larger molecules such as bio proteins. By fragmenting the molecular system and looking at fragments of fixed size, calculating the ground state energy of a
+        Hartree-Fock scale at least as 
+        <inlineequation>
+            <mml:math display="inline">
+              <mml:mrow>
+                <mml:mi>O(</mml:mi>
+                <mml:msup>
+                  <mml:mi>M</mml:mi>
+                  <mml:mn>3</mml:mn>
+                </mml:msup>
+                <mml:mi>)</mml:mi>
+              </mml:mrow>
+            </mml:math>
+          </inlineequation>
+          with the number of atoms 
+          <inlineequation>
+            <mml:math display="inline">
+              <mml:mrow>
+                <mml:mi>M</mml:mi>
+              </mml:mrow>
+            </mml:math>
+          </inlineequation>
+          . In general, this cost is prohibitive for calculating ground state energies and forces (required for molecular dynamics simulations) for larger molecules such as bio proteins. By fragmenting the molecular system and looking at fragments of fixed size, calculating the ground state energy of a
         number of fragment molecules becomes a linear scaling operation with the number of atoms. In the doctoral thesis of Frederik
         Heber, it is explained why this is a sensible ansatz mathematically
@@ -1702,8 +1812,15 @@
           the whole ring becomes a fragment, we partially overcome these
           issues. This does however not work indefinitely and accuracy of the
-          approximation is limited (<inlineequation>
-              <m:math display="inline">
-                <m:mi>&gt;10^{-4}</m:mi>
-              </m:math>
+          approximation is limited (
+          <inlineequation>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:mi>&gt;</mml:mi>
+                  <mml:msup>
+                    <mml:mi>10</mml:mi>
+                    <mml:mn>-4</mml:mn>
+                  </mml:msup>
+                </mml:mrow>
+              </mml:math>
             </inlineequation>) in systems with many interconnected aromatic
           rings, such as graphene. Next, we give a distance cutoff of 3 angstroem used
@@ -1717,7 +1834,12 @@
           requires the density which is sampled on a cartesian grid whose
           resolution these parameter defines (<inlineequation>
-              <m:math display="inline">
-                <m:mi>2^{\mathrm{level}}</m:mi>
-              </m:math>
+              <mml:math display="inline">
+                <mml:mrow>
+                  <mml:msup>
+                    <mml:mi>2</mml:mi>
+                    <mml:mn>level</mml:mn>
+                  </mml:msup>
+                </mml:mrow>
+              </mml:math>
             </inlineequation>). And finally, we give the output file formats,
           i.e. which file formats are used for writing each fragment
@@ -1822,5 +1944,5 @@
           <note>All calculated results may be placed in a result file for
           later parsing, see
-          <link linkend="molecule.save-fragment-results">save fragment results</link>
+          <link linkend="fragmentation.save-fragment-results">save fragment results</link>
           .</note>
         </section>
@@ -1849,7 +1971,7 @@
           is possible afterwards.</para>
           <note>If not obtained by 
-          <link linkend="molecule.fragment-automation">fragment automation</link>
+          <link linkend="fragmentation.fragment-automation">fragment automation</link>
           then fragment results need to be parsed from file, see
-          <link linkend="molecule.parse-fragment-results">parse fragment results</link>
+          <link linkend="fragmentation.parse-fragment-results">parse fragment results</link>
           .</note>
         </section>
@@ -1870,5 +1992,5 @@
           <title xml:id="fragmentation.parse-fragment-jobs.title">Parse fragment jobs from files</title>
           <para>The fragment jobs that are created by
-          <link linkend="molecule.fragment-molecule">fragment molecule</link>
+          <link linkend="fragmentation.fragment-molecule">fragment molecule</link>
           may also be placed in a file for later retrieval. See the details of 
           this action on how to create one file per job.</para>
@@ -1889,5 +2011,5 @@
           of the fragment jobs. Or if that has been done at some earlier
           stage and results have been written to a file, see
-          <link linkend="molecule.save-fragment-results">save fragment results</link>
+          <link linkend="fragmentation.save-fragment-results">save fragment results</link>
           , then we may also parse these results.</para>
           <programlisting>
@@ -2189,13 +2311,12 @@
     step.
 Furthermore, the forces are corrected such that the force add up to zero.    </para>
-          <programlisting>
-          ... --molecular-dynamics \
-          --steps 100 \
-          --keep-bondgraph 0 \
-          --order 3 \
-          --distance 3. \
-          --deltat 0.5 \
-          --keep-fixed-CenterOfMass 1 \
-          --fragment-executable mpqc \
+          <programlisting>... --molecular-dynamics \
+    --steps 100 \
+    --keep-bondgraph 0 \
+    --order 3 \
+    --distance 3. \
+    --deltat 0.5 \
+    --keep-fixed-CenterOfMass 1 \
+    --fragment-executable mpqc \
           </programlisting>
           <para>Keeping the bond graph is useful when simulating close to the equilibrium and no bond breaking or forming should occur. Note that in general the BOSSANOVA fragmentation scheme is discontinuous with respect to the formation of bonds in the energy. This discontinuity arrises because of the threshold criterion used for detecting the bond graph. After each simulation step the bond graph is recreated (if <emphasis role="bold">keep-bondgraph</emphasis> is switched off) to accomodate for any structural changes. If bonds are added because two atoms are suddenly within the required distance which before was not the case, additional fragments are generated, calculated, and added to the approximation of the whole system. As the addition of these contributions is sudden -- in general, they will already be non-zero when the bonds are detected -- a slight jump in the total energy of the system can be expected.</para>
@@ -2212,14 +2333,13 @@
     step here serves as the initial step width for annealing.
     </para>
-          <programlisting>
-          ... --optimize-structure \
-          --keep-bondgraph 1 \
-          --output-every-step 1 \
-          --steps 100 \
-          --order 3 \
-          --distance 3. \
-          --deltat 0.5 \
-          --keep-fixed-CenterOfMass 1 \
-          --fragment-executable mpqc \
+    <programlisting>... --optimize-structure \
+    --keep-bondgraph 1 \
+    --output-every-step 1 \
+    --steps 100 \
+    --order 3 \
+    --distance 3. \
+    --deltat 0.5 \
+    --keep-fixed-CenterOfMass 1 \
+    --fragment-executable mpqc
           </programlisting>
           <para>Note that <emphasis role="bold">output-every-step</emphasis> will allow you to watch the 
@@ -2253,5 +2373,5 @@
           <para>For each present time step the temperature (i.e. the average velocity
     per atom multiplied with its mass) will be stored to a file.</para>
-          <programlisting>          ... --save-temperature temperature.dat</programlisting>
+          <programlisting> ... --save-temperature temperature.dat</programlisting>
           <para>That is <emphasis role="italic">temperature.dat</emphasis> contains two columns: the first contains the time step and the second column contains the temperature of the system in atomic units.</para>
         </section>
@@ -2262,12 +2382,14 @@
         a virtual sphere of a certain radii on a molecule such that it always rests on at least three atoms. From such a resting position the sphere is rolled over all of its three sides until it rests again. This is continued until the closed 
         surface of connected triangles is created.</para>
-        <para>Note that tesselations are used internally by the graphical interface in order to show molecules by their surface. This is in general faster than displaying them as a ball-stick model consisting of spheres and cylinders.</para>
+        <note>Tesselations are used internally by the graphical interface in 
+        order to show molecules by their surface. This is in general faster 
+        than displaying them as a ball-stick model consisting of spheres and 
+        cylinders.</note>
         <section xml:id="dynamics.tesselation.nonconvex-envelope">
           <title xml:id="dynamics.tesselation.nonconvex-envelope.title"> Non-convex envelope</title>
           <para>This will create a non-convex envelope for a molecule and store
           it to a file for viewing with external programs.</para>
-          <programlisting>
-          ... --nonconvex-envelope 6. \
-          --nonconvex-file nonconvex.dat
+          <programlisting>... --nonconvex-envelope 6. \
+    --nonconvex-file nonconvex.dat
           </programlisting>
           <para>This tesselation file can be conveniently viewed with 
@@ -2284,7 +2406,6 @@
           for measuring the space a molecule takes up, e.g. when filling a 
           domain and taking care of correct densities.</para>
-          <programlisting>
-          ... --convex-envelope 6. \
-          --convex-file convex.dat
+          <programlisting>... --convex-envelope 6. \
+    --convex-file convex.dat
           </programlisting>
           <para>This tesselation file can be likewise viewed with 
@@ -2319,7 +2440,7 @@
    statements. Hence, no hydrogen atom is added but the <emphasis role="bold">add-atom</emphasis> action is
    stored in the history and will make it to a stored session.</para>
-          <programlisting>   ... --dry-run \
-   --add-atom 1 --domain-position &quot;5,5,5&quot;
-   --no-dry-run</programlisting>
+          <programlisting>... --dry-run \
+    --add-atom 1 --domain-position &quot;5,5,5&quot;
+    --no-dry-run</programlisting>
           <para>This is useful for converting shell commands into python scripts. Commands are not executed but all are eventually found in the written pyrthon file.</para>
         </section>
@@ -2331,11 +2452,4 @@
           unix environment):</para>
           <programlisting>... --element-db ./</programlisting>
-        </section>
-        <section xml:id="various.fastparsing">
-          <title xml:id="various.fastparsing.title">Fast parsing</title>
-          <para>Parsing all time steps from a given input file can take a 
-          while, especially for larger systems. If fast parsing is activated,
-          only the first time step is loaded, all other are ignored.</para>
-          <programlisting>... --fastparsing 1</programlisting>
         </section>
         <section xml:id="various.version">
@@ -2371,7 +2485,6 @@
           <title xml:id="sessions.store-session.title">Storing a session </title>
           <para>Storing sessions is simple,</para>
-          <programlisting>
-    ... --store-session &quot;session.py&quot; \
-        --session-type python
+          <programlisting>... --store-session &quot;session.py&quot; \
+    --session-type python
        </programlisting>
           <para>Here, the session type is given as python (the other option is
@@ -2404,7 +2517,6 @@
               <productname>TREMOLO </productname>
             </link> exttypes file with the given name.</para>
-          <programlisting>
-          ... --save-selected-atoms-as-exttypes \
-          --filename test.exttypes </programlisting>
+          <programlisting>... --save-selected-atoms-as-exttypes \
+    --filename test.exttypes </programlisting>
         </section>
         <section xml:id="various-specific.set-parser-parameters">
@@ -2419,7 +2531,6 @@
               <productname>Psi4 </productname>
             </link> this can be modified as follows.</para>
-          <programlisting>
-  ... --set-parser-parameters mpqc \
-      --parser-parameters &quot;theory=CLHF;basis=6-31*G;&quot;
+          <programlisting>... --set-parser-parameters mpqc \
+    --parser-parameters &quot;theory=CLHF;basis=6-31*G;&quot;
           </programlisting>
           <para>This sets the ab-initio theory to closed-shell Hartree-Fock
@@ -2427,6 +2538,49 @@
           <productname>MPQC</productname> manual on further supported values that must be added by hand. We list below the currently implementd list of keys and their values.</para>
           <itemizedlist>
-            <listitem>theory</listitem>
-            <listitem>basis</listitem>
+            <listitem>Hessian - yes/no
+            </listitem>
+            <listitem>savestate - yes/no
+            </listitem>
+            <listitem>do_gradient - yes/no
+            </listitem>
+            <listitem>maxiter - positive integer value
+            </listitem>
+            <listitem>memory - positive integer value
+            </listitem>
+            <listitem>stdapprox
+              <itemizedlist>
+                <listitem>A'</listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>nfzc - positive integer value
+            </listitem>
+            <listitem>basis - any basis listed in data folder, e.g.
+              <itemizedlist>
+                <listitem>3-21G</listitem>
+                <listitem>6-31+G*</listitem>
+                <listitem>...</listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>aux_basis - same as under basis
+            </listitem>
+            <listitem>integration
+              <itemizedlist>
+                <listitem>IntegralCints</listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>theory
+              <itemizedlist>
+                <listitem>CLHF</listitem>
+                <listitem>CLKS</listitem>
+                <listitem>MBPT2</listitem>
+                <listitem>MBPT2_R12</listitem>
+              </itemizedlist>
+              </listitem>
+            <listitem>jobtype
+              <itemizedlist>
+                <listitem>Default</listitem>
+                <listitem>Optimization</listitem>
+              </itemizedlist>
+              </listitem>
           </itemizedlist>
         </section>
@@ -2438,7 +2592,6 @@
           velocities and forces as well as the atoms positions and
           element.</para>
-          <programlisting>
-  ... --set-tremolo-atomdata &quot;ATOM id element u=3 v=3 F=3&quot; \
-      --reset 1
+          <programlisting>... --set-tremolo-atomdata &quot;ATOM id element u=3 v=3 F=3&quot; \
+    --reset 1
    </programlisting>
           <para>This will not append but reset the old line and fill it with
