Index: molecuilder/src/config.cpp
===================================================================
--- molecuilder/src/config.cpp	(revision 5dba7ae88fa00048a0010e446e197388daab7b69)
+++ molecuilder/src/config.cpp	(revision 71910a24319c2c88370002a1fc0df43dc3cb64cc)
@@ -740,7 +740,7 @@
               neues = AtomList[i][j];
             status = (status &&
-                    ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &neues->x.x[0], 1, (repetition == 0) ? critical : optional) &&
-                    ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &neues->x.x[1], 1, (repetition == 0) ? critical : optional) &&
-                    ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &neues->x.x[2], 1, (repetition == 0) ? critical : optional) &&
+                    ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &neues->x[0], 1, (repetition == 0) ? critical : optional) &&
+                    ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &neues->x[1], 1, (repetition == 0) ? critical : optional) &&
+                    ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &neues->x[2], 1, (repetition == 0) ? critical : optional) &&
                     ParseForParameter(verbose,FileBuffer, keyword, 0, 4, 1, int_type, &neues->FixedIon, 1, (repetition == 0) ? critical : optional));
             if (!status) break;
@@ -756,15 +756,15 @@
             // put into trajectories list
             for (int d=0;d<NDIM;d++)
-              neues->Trajectory.R.at(repetition).x[d] = neues->x.x[d];
+              neues->Trajectory.R.at(repetition)[d] = neues->x[d];
 
             // parse velocities if present
-            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->v.x[0], 1,optional))
-              neues->v.x[0] = 0.;
-            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->v.x[1], 1,optional))
-              neues->v.x[1] = 0.;
-            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->v.x[2], 1,optional))
-              neues->v.x[2] = 0.;
+            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->v[0], 1,optional))
+              neues->v[0] = 0.;
+            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->v[1], 1,optional))
+              neues->v[1] = 0.;
+            if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->v[2], 1,optional))
+              neues->v[2] = 0.;
             for (int d=0;d<NDIM;d++)
-              neues->Trajectory.U.at(repetition).x[d] = neues->v.x[d];
+              neues->Trajectory.U.at(repetition)[d] = neues->v[d];
 
             // parse forces if present
@@ -776,5 +776,5 @@
               value[2] = 0.;
             for (int d=0;d<NDIM;d++)
-              neues->Trajectory.F.at(repetition).x[d] = value[d];
+              neues->Trajectory.F.at(repetition)[d] = value[d];
 
   //            Log() << Verbose(0) << "Parsed position of step " << (repetition) << ": (";
@@ -819,14 +819,14 @@
             neues = AtomList[i][j];
           // then parse for each atom the coordinates as often as present
-          ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &neues->x.x[0], repetition,critical);
-          ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &neues->x.x[1], repetition,critical);
-          ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &neues->x.x[2], repetition,critical);
+          ParseForParameter(verbose,FileBuffer, keyword, 0, 1, 1, double_type, &neues->x[0], repetition,critical);
+          ParseForParameter(verbose,FileBuffer, keyword, 0, 2, 1, double_type, &neues->x[1], repetition,critical);
+          ParseForParameter(verbose,FileBuffer, keyword, 0, 3, 1, double_type, &neues->x[2], repetition,critical);
           ParseForParameter(verbose,FileBuffer, keyword, 0, 4, 1, int_type, &neues->FixedIon, repetition,critical);
-          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->v.x[0], repetition,optional))
-            neues->v.x[0] = 0.;
-          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->v.x[1], repetition,optional))
-            neues->v.x[1] = 0.;
-          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->v.x[2], repetition,optional))
-            neues->v.x[2] = 0.;
+          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 5, 1, double_type, &neues->v[0], repetition,optional))
+            neues->v[0] = 0.;
+          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 6, 1, double_type, &neues->v[1], repetition,optional))
+            neues->v[1] = 0.;
+          if(!ParseForParameter(verbose,FileBuffer, keyword, 0, 7, 1, double_type, &neues->v[2], repetition,optional))
+            neues->v[2] = 0.;
           // here we don't care if forces are present (last in trajectories is always equal to current position)
           neues->type = elementhash[i]; // find element type
@@ -1289,7 +1289,7 @@
         istringstream input2(zeile);
         atom *neues = World::getInstance().createAtom();
-        input2 >> neues->x.x[0]; // x
-        input2 >> neues->x.x[1]; // y
-        input2 >> neues->x.x[2]; // z
+        input2 >> neues->x[0]; // x
+        input2 >> neues->x[1]; // y
+        input2 >> neues->x[2]; // z
         input2 >> l;
         neues->type = elementhash[No]; // find element type
@@ -1570,7 +1570,7 @@
              'a'+(unsigned char)(AtomNo % 26),           /* letter for chain */
              MolNo,         /* residue sequence number */
-             Walker->node->x[0],                 /* position X in Angstroem */
-             Walker->node->x[1],                 /* position Y in Angstroem */
-             Walker->node->x[2],                 /* position Z in Angstroem */
+             Walker->node->at(0),                 /* position X in Angstroem */
+             Walker->node->at(1),                 /* position Y in Angstroem */
+             Walker->node->at(2),                 /* position Z in Angstroem */
              (double)Walker->type->Valence,         /* occupancy */
              (double)Walker->type->NoValenceOrbitals,          /* temperature factor */
@@ -1624,7 +1624,7 @@
            'a'+(unsigned char)(AtomNo % 26),           /* letter for chain */
            0,         /* residue sequence number */
-           Walker->node->x[0],                 /* position X in Angstroem */
-           Walker->node->x[1],                 /* position Y in Angstroem */
-           Walker->node->x[2],                 /* position Z in Angstroem */
+           Walker->node->at(0),                 /* position X in Angstroem */
+           Walker->node->at(1),                 /* position Y in Angstroem */
+           Walker->node->at(2),                 /* position Z in Angstroem */
            (double)Walker->type->Valence,         /* occupancy */
            (double)Walker->type->NoValenceOrbitals,          /* temperature factor */
@@ -1677,6 +1677,6 @@
     *output << mol->name << "\t";
     *output << 0 << "\t";
-    *output << Walker->node->x[0] << "\t" << Walker->node->x[1] << "\t" << Walker->node->x[2] << "\t";
-    *output << (double)Walker->type->Valence << "\t";
+    *output << Walker->node->at(0) << "\t" << Walker->node->at(1) << "\t" << Walker->node->at(2) << "\t";
+    *output << static_cast<double>(Walker->type->Valence) << "\t";
     *output << Walker->type->symbol << "\t";
     for (BondList::iterator runner = Walker->ListOfBonds.begin(); runner != Walker->ListOfBonds.end(); runner++)
@@ -1752,5 +1752,5 @@
         *output << (*MolWalker)->name << "\t";
         *output << MolCounter << "\t";
-        *output << Walker->node->x[0] << "\t" << Walker->node->x[1] << "\t" << Walker->node->x[2] << "\t";
+        *output << Walker->node->at(0) << "\t" << Walker->node->at(1) << "\t" << Walker->node->at(2) << "\t";
         *output << (double)Walker->type->Valence << "\t";
         *output << Walker->type->symbol << "\t";
