Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(revision 357fba6ccb2cf9e2d97f501d5968558a706028a5)
+++ src/Makefile.am	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -1,4 +1,4 @@
 SOURCE = atom.cpp bond.cpp boundary.cpp builder.cpp config.cpp element.cpp ellipsoid.cpp helpers.cpp linkedcell.cpp moleculelist.cpp molecules.cpp parser.cpp periodentafel.cpp tesselation.cpp tesselationhelpers.cpp vector.cpp verbose.cpp
-HEADER = atom.hpp bond.hpp boundary.hpp defs.hpp ellipsoid.hpp helpers.hpp linkedcell.hpp molecules.hpp parser.hpp periodentafel.hpp stackclass.hpp tesselation.hpp tesselationhelpers.hpp vector.hpp
+HEADER = atom.hpp bond.hpp boundary.hpp config.hpp defs.hpp ellipsoid.hpp helpers.hpp linkedcell.hpp molecules.hpp parser.hpp periodentafel.hpp stackclass.hpp tesselation.hpp tesselationhelpers.hpp vector.hpp
 
 bin_PROGRAMS = molecuilder joiner analyzer
Index: src/boundary.hpp
===================================================================
--- src/boundary.hpp	(revision 357fba6ccb2cf9e2d97f501d5968558a706028a5)
+++ src/boundary.hpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -12,4 +12,5 @@
 #include <deque>
 
+#include "config.hpp"
 #include "linkedcell.hpp"
 #include "molecules.hpp"
Index: src/config.cpp
===================================================================
--- src/config.cpp	(revision 357fba6ccb2cf9e2d97f501d5968558a706028a5)
+++ src/config.cpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -5,5 +5,5 @@
  */
 
-#include "molecules.hpp"
+#include "config.hpp"
 
 /******************************** Functions for class ConfigFileBuffer **********************/
Index: src/config.hpp
===================================================================
--- src/config.hpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
+++ src/config.hpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -0,0 +1,120 @@
+/*
+ * config.hpp
+ *
+ *  Created on: Aug 3, 2009
+ *      Author: heber
+ */
+
+#ifndef CONFIG_HPP_
+#define CONFIG_HPP_
+
+using namespace std;
+
+#include "molecules.hpp"
+#include "periodentafel.hpp"
+
+/** The config file.
+ * The class contains all parameters that control a dft run also functions to load and save.
+ */
+class config {
+  public:
+    int PsiType;
+    int MaxPsiDouble;
+    int PsiMaxNoUp;
+    int PsiMaxNoDown;
+    int MaxMinStopStep;
+    int InitMaxMinStopStep;
+    int ProcPEGamma;
+    int ProcPEPsi;
+    char *configpath;
+    char *configname;
+    bool FastParsing;
+    double Deltat;
+    string basis;
+
+    char *databasepath;
+
+    int DoConstrainedMD;
+    int MaxOuterStep;
+    int Thermostat;
+    int *ThermostatImplemented;
+    char **ThermostatNames;
+    double TempFrequency;
+    double alpha;
+    double HooverMass;
+    double TargetTemp;
+    int ScaleTempStep;
+
+  private:
+    char *mainname;
+    char *defaultpath;
+    char *pseudopotpath;
+
+    int DoOutVis;
+    int DoOutMes;
+    int DoOutNICS;
+    int DoOutOrbitals;
+    int DoOutCurrent;
+    int DoFullCurrent;
+    int DoPerturbation;
+    int DoWannier;
+    int CommonWannier;
+    double SawtoothStart;
+    int VectorPlane;
+    double VectorCut;
+    int UseAddGramSch;
+    int Seed;
+
+    int OutVisStep;
+    int OutSrcStep;
+    int MaxPsiStep;
+    double EpsWannier;
+
+    int MaxMinStep;
+    double RelEpsTotalEnergy;
+    double RelEpsKineticEnergy;
+    int MaxMinGapStopStep;
+    int MaxInitMinStep;
+    double InitRelEpsTotalEnergy;
+    double InitRelEpsKineticEnergy;
+    int InitMaxMinGapStopStep;
+
+    //double BoxLength[NDIM*NDIM];
+
+    double ECut;
+    int MaxLevel;
+    int RiemannTensor;
+    int LevRFactor;
+    int RiemannLevel;
+    int Lev0Factor;
+    int RTActualUse;
+    int AddPsis;
+
+    double RCut;
+    int StructOpt;
+    int IsAngstroem;
+    int RelativeCoord;
+    int MaxTypes;
+
+
+  int ParseForParameter(int verbose, ifstream *file, const char *name, int sequential, int const xth, int const yth, int type, void *value, int repetition, int critical);
+  int ParseForParameter(int verbose, struct ConfigFileBuffer *FileBuffer, const char *name, int sequential, int const xth, int const yth, int type, void *value, int repetition, int critical);
+
+  public:
+  config();
+  ~config();
+
+  int TestSyntax(char *filename, periodentafel *periode, molecule *mol);
+  void Load(char *filename, periodentafel *periode, molecule *mol);
+  void LoadOld(char *filename, periodentafel *periode, molecule *mol);
+  void RetrieveConfigPathAndName(string filename);
+  bool Save(const char *filename, periodentafel *periode, molecule *mol) const;
+  bool SaveMPQC(const char *filename, molecule *mol) const;
+  void Edit();
+  bool GetIsAngstroem() const;
+  char *GetDefaultPath() const;
+  void SetDefaultPath(const char *path);
+  void InitThermostats(class ConfigFileBuffer *fb);
+};
+
+#endif /* CONFIG_HPP_ */
Index: src/moleculelist.cpp
===================================================================
--- src/moleculelist.cpp	(revision 357fba6ccb2cf9e2d97f501d5968558a706028a5)
+++ src/moleculelist.cpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -5,4 +5,5 @@
  */
 
+#include "config.hpp"
 #include "molecules.hpp"
 
Index: src/molecules.cpp
===================================================================
--- src/molecules.cpp	(revision 357fba6ccb2cf9e2d97f501d5968558a706028a5)
+++ src/molecules.cpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -5,4 +5,5 @@
  */
 
+#include "config.hpp"
 #include "molecules.hpp"
 
Index: src/molecules.hpp
===================================================================
--- src/molecules.hpp	(revision 357fba6ccb2cf9e2d97f501d5968558a706028a5)
+++ src/molecules.hpp	(revision a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3)
@@ -35,5 +35,4 @@
 #include "vector.hpp"
 
-class config;
 class molecule;
 class MoleculeLeafClass;
@@ -344,108 +343,4 @@
 
 
-/** The config file.
- * The class contains all parameters that control a dft run also functions to load and save.
- */
-class config {
-  public:
-    int PsiType;
-    int MaxPsiDouble;
-    int PsiMaxNoUp;
-    int PsiMaxNoDown;
-    int MaxMinStopStep;
-    int InitMaxMinStopStep;
-    int ProcPEGamma;
-    int ProcPEPsi;
-    char *configpath;
-    char *configname;
-    bool FastParsing;
-    double Deltat;
-    string basis;
-
-    char *databasepath;
-
-    int DoConstrainedMD;
-    int MaxOuterStep;
-    int Thermostat;
-    int *ThermostatImplemented;
-    char **ThermostatNames;
-    double TempFrequency;
-    double alpha;
-    double HooverMass;
-    double TargetTemp;
-    int ScaleTempStep;
-    
-  private:
-    char *mainname;
-    char *defaultpath;
-    char *pseudopotpath;
-
-    int DoOutVis;
-    int DoOutMes;
-    int DoOutNICS;
-    int DoOutOrbitals;
-    int DoOutCurrent;
-    int DoFullCurrent;
-    int DoPerturbation;
-    int DoWannier;
-    int CommonWannier;
-    double SawtoothStart;
-    int VectorPlane;
-    double VectorCut;
-    int UseAddGramSch;
-    int Seed;
-
-    int OutVisStep;
-    int OutSrcStep;
-    int MaxPsiStep;
-    double EpsWannier;
-
-    int MaxMinStep;
-    double RelEpsTotalEnergy;
-    double RelEpsKineticEnergy;
-    int MaxMinGapStopStep;
-    int MaxInitMinStep;
-    double InitRelEpsTotalEnergy;
-    double InitRelEpsKineticEnergy;
-    int InitMaxMinGapStopStep;
-
-    //double BoxLength[NDIM*NDIM];
-
-    double ECut;
-    int MaxLevel;
-    int RiemannTensor;
-    int LevRFactor;
-    int RiemannLevel;
-    int Lev0Factor;
-    int RTActualUse;
-    int AddPsis;
-
-    double RCut;
-    int StructOpt;
-    int IsAngstroem;
-    int RelativeCoord;
-    int MaxTypes;
-
-
-  int ParseForParameter(int verbose, ifstream *file, const char *name, int sequential, int const xth, int const yth, int type, void *value, int repetition, int critical);
-  int ParseForParameter(int verbose, struct ConfigFileBuffer *FileBuffer, const char *name, int sequential, int const xth, int const yth, int type, void *value, int repetition, int critical);
-
-  public:
-  config();
-  ~config();
-
-  int TestSyntax(char *filename, periodentafel *periode, molecule *mol);
-  void Load(char *filename, periodentafel *periode, molecule *mol);
-  void LoadOld(char *filename, periodentafel *periode, molecule *mol);
-  void RetrieveConfigPathAndName(string filename);
-  bool Save(const char *filename, periodentafel *periode, molecule *mol) const;
-  bool SaveMPQC(const char *filename, molecule *mol) const;
-  void Edit();
-  bool GetIsAngstroem() const;
-  char *GetDefaultPath() const;
-  void SetDefaultPath(const char *path);
-  void InitThermostats(class ConfigFileBuffer *fb);
-};
-
 #endif /*MOLECULES_HPP_*/
 
