diff --git a/CHANGES/v2.0.txt b/CHANGES/v2.0.txt
index 2ca65e1957b3c12a5b264bd5612cadfab8ccbd57..6b37c8a5017a9880492feedfb87dc15d3fc53a02 100644
--- a/CHANGES/v2.0.txt
+++ b/CHANGES/v2.0.txt
@@ -107,5 +107,8 @@ See <a href="http://github.com/plumed/plumed2/tree/v2.0">branch v2.0 on git repo
 For users:
 - Several small fixes in documentation and log file.
 
+For developers:
+- Split cltools/Driver.cpp to make parallel compilation faster.
+
 */
 
diff --git a/src/cltools/Driver.cpp b/src/cltools/Driver.cpp
index 9c64240d9e9fbe355870dd4f8017bc085a996659..bf59fcc40aafc1e615830e33dce97d7ea37167a7 100644
--- a/src/cltools/Driver.cpp
+++ b/src/cltools/Driver.cpp
@@ -707,13 +707,5 @@ int Driver<real>::main(FILE* in,FILE*out,Communicator& pc){
   return 0;
 }
 
-typedef Driver<double> DriverDouble;
-typedef Driver<float> DriverFloat;
-PLUMED_REGISTER_CLTOOL(DriverDouble,"driver")
-PLUMED_REGISTER_CLTOOL(DriverFloat,"driver-float")
-
-
-
-
 }
 }
diff --git a/src/cltools/DriverDouble.cpp b/src/cltools/DriverDouble.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..d497d43d07b08eb376f8f36e14cabec928a92c14
--- /dev/null
+++ b/src/cltools/DriverDouble.cpp
@@ -0,0 +1,37 @@
+/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   Copyright (c) 2013 The plumed team
+   (see the PEOPLE file at the root of the distribution for a list of names)
+
+   See http://www.plumed-code.org for more information.
+
+   This file is part of plumed, version 2.0.
+
+   plumed is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   plumed is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with plumed.  If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
+
+#include "Driver.cpp"
+
+namespace PLMD {
+namespace cltools{
+
+// We instantiate here the template version of Driver so as
+// to accelerate parallel compilation.
+
+typedef Driver<double> DriverDouble;
+
+PLUMED_REGISTER_CLTOOL(DriverDouble,"driver")
+
+}
+}
+
diff --git a/src/cltools/DriverFloat.cpp b/src/cltools/DriverFloat.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0c152d16d409d3e2b6c30248df362894b4ccd451
--- /dev/null
+++ b/src/cltools/DriverFloat.cpp
@@ -0,0 +1,37 @@
+/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   Copyright (c) 2013 The plumed team
+   (see the PEOPLE file at the root of the distribution for a list of names)
+
+   See http://www.plumed-code.org for more information.
+
+   This file is part of plumed, version 2.0.
+
+   plumed is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   plumed is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with plumed.  If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
+
+#include "Driver.cpp"
+
+namespace PLMD {
+namespace cltools{
+
+// We instantiate here the template version of Driver so as
+// to accelerate parallel compilation.
+
+typedef Driver<float> DriverFloat;
+
+PLUMED_REGISTER_CLTOOL(DriverFloat,"driver-float")
+
+}
+}
+
diff --git a/src/function/Matheval.cpp b/src/function/Matheval.cpp
index cd84551fc8f2347bf86164c80a4d3eae29b08440..e56335dea53ad44b9e604575778f080f38d4a38e 100644
--- a/src/function/Matheval.cpp
+++ b/src/function/Matheval.cpp
@@ -52,6 +52,7 @@ MATHEVAL ...
   ARG=d1.x,d1.y,d1.z,d2.x,d2.y,d2.z
   VAR=ax,ay,az,bx,by,bz
   FUNC=acos((ax*bx+ay*by+az*bz)/sqrt((ax*ax+ay*ay+az*az)*(bx*bx+by*by+bz*bz))
+  PERIODIC=NO
 ... MATHEVAL
 PRINT ARG=theta
 \endverbatim