Index: src/Element/periodentafel.cpp
===================================================================
--- src/Element/periodentafel.cpp	(revision 9d4ff35ec4a64e47b992434a7cedc91dad9839ec)
+++ src/Element/periodentafel.cpp	(revision 4ae823cec9aee17aaa21ae3a9dde58110c0db527)
@@ -38,61 +38,8 @@
  * Initialises start and end of list and resets periodentafel::checkliste to false.
  */
-periodentafel::periodentafel()
-{
-  {
-    stringstream input(elementsDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadElementsDatabase(input);
-    ASSERT(status,  "General element initialization failed");
-  }
-  {
-    stringstream input(ElectronegativitiesDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadElectronegativityDatabase(input);
-    ASSERT(status, "Electronegativities entry of element initialization failed");
-  }
-  {
-    stringstream input(valenceDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadValenceDatabase(input);
-    ASSERT(status, "Valence entry of element initialization failed");
-  }
-  {
-    stringstream input(orbitalsDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadOrbitalsDatabase(input);
-    ASSERT(status, "Orbitals entry of element initialization failed");
-  }
-  {
-    stringstream input(HbondangleDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadHBondAngleDatabase(input);
-    ASSERT(status, "HBond angle entry of element initialization failed");
-  }
-  {
-    stringstream input(HbonddistanceDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadHBondLengthsDatabase(input);
-    ASSERT(status, "HBond distance entry of element initialization failed");
-  }
-  {
-    stringstream input(ColorDB,ios_base::in);
-#ifndef NDEBUG
-    bool status =
-#endif
-        LoadColorDatabase(input);
-    ASSERT(status, "color entry of element initialization failed");
+periodentafel::periodentafel(const bool DoLoad)
+{
+  if (DoLoad) {
+    ScanPeriodentafel();
   }
 };
@@ -249,4 +196,67 @@
 };
 
+/** Scan periodentafel contents from internal databases.
+ *
+ */
+void periodentafel::ScanPeriodentafel()
+{
+  {
+    stringstream input(elementsDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadElementsDatabase(input);
+    ASSERT(status,  "General element initialization failed");
+  }
+  {
+    stringstream input(ElectronegativitiesDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadElectronegativityDatabase(input);
+    ASSERT(status, "Electronegativities entry of element initialization failed");
+  }
+  {
+    stringstream input(valenceDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadValenceDatabase(input);
+    ASSERT(status, "Valence entry of element initialization failed");
+  }
+  {
+    stringstream input(orbitalsDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadOrbitalsDatabase(input);
+    ASSERT(status, "Orbitals entry of element initialization failed");
+  }
+  {
+    stringstream input(HbondangleDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadHBondAngleDatabase(input);
+    ASSERT(status, "HBond angle entry of element initialization failed");
+  }
+  {
+    stringstream input(HbonddistanceDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadHBondLengthsDatabase(input);
+    ASSERT(status, "HBond distance entry of element initialization failed");
+  }
+  {
+    stringstream input(ColorDB,ios_base::in);
+#ifndef NDEBUG
+    bool status =
+#endif
+        LoadColorDatabase(input);
+    ASSERT(status, "color entry of element initialization failed");
+  }
+}
+
 /** Loads element list from file.
  * \param *path to to standard file names
Index: src/Element/periodentafel.hpp
===================================================================
--- src/Element/periodentafel.hpp	(revision 9d4ff35ec4a64e47b992434a7cedc91dad9839ec)
+++ src/Element/periodentafel.hpp	(revision 4ae823cec9aee17aaa21ae3a9dde58110c0db527)
@@ -40,5 +40,5 @@
   /******* Functions *********/
 public:
-  periodentafel();
+  periodentafel(const bool DoLoad = false);
   ~periodentafel();
 
@@ -77,4 +77,5 @@
   }
 
+  void ScanPeriodentafel();
   bool LoadColorDatabase(std::istream &input);
   bool LoadElementsDatabase(std::istream &input);
Index: src/Element/unittests/PeriodentafelUnitTest.cpp
===================================================================
--- src/Element/unittests/PeriodentafelUnitTest.cpp	(revision 9d4ff35ec4a64e47b992434a7cedc91dad9839ec)
+++ src/Element/unittests/PeriodentafelUnitTest.cpp	(revision 4ae823cec9aee17aaa21ae3a9dde58110c0db527)
@@ -52,5 +52,5 @@
 {
   // make sure world is present
-  tafel = new periodentafel();
+  tafel = new periodentafel(true);
   CPPUNIT_ASSERT(tafel != NULL && "could not obtain periodentafel");
 };
@@ -111,5 +111,5 @@
 void periodentafelTest::ComparisonTest()
 {
-  periodentafel *newtafel = new periodentafel();
+  periodentafel *newtafel = new periodentafel(true);
 
   CPPUNIT_ASSERT (*newtafel == *tafel );
Index: src/World.cpp
===================================================================
--- src/World.cpp	(revision 9d4ff35ec4a64e47b992434a7cedc91dad9839ec)
+++ src/World.cpp	(revision 4ae823cec9aee17aaa21ae3a9dde58110c0db527)
@@ -802,5 +802,5 @@
     Observable("World"),
     BG(new BondGraph(true)),  // assume Angstroem for the moment
-    periode(new periodentafel),
+    periode(new periodentafel(true)),
     configuration(new config),
     Thermostats(new ThermoStatContainer),
