Index: src/Legacy/oldmenu.cpp
===================================================================
--- src/Legacy/oldmenu.cpp	(revision 0a4f7fd0df08c7bf001c21de0e7b7462fb56da1d)
+++ src/Legacy/oldmenu.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -103,5 +103,5 @@
           dialog->queryVector("Enter reference coordinates.",&x,mol->cell_size,true);
           dialog->queryVector("Enter relative coordinates.",&first->x,mol->cell_size,false);
-          first->x.AddVector(&x);
+          first->x += x;
           dialog->display();
           delete dialog;
@@ -168,6 +168,5 @@
           */
           // calc axis vector
-          x.CopyVector(&second->x);
-          x.SubtractVector(&third->x);
+          x= second->x - third->x;
           x.Normalize();
           Log() << Verbose(0) << "x: " << x << endl;
@@ -178,29 +177,29 @@
 
           // rotate vector around first angle
-          first->x.CopyVector(&x);
+          first->x = x;
           first->x = RotateVector(first->x,z,b - M_PI);
           Log() << Verbose(0) << "Rotated vector: " << first->x << endl,
           // remove the projection onto the rotation plane of the second angle
-          n.CopyVector(&y);
-          n.Scale(first->x.ScalarProduct(&y));
+          n = y;
+          n.Scale(first->x.ScalarProduct(y));
           Log() << Verbose(0) << "N1: " << n << endl;
-          first->x.SubtractVector(&n);
+          first->x -= n;
           Log() << Verbose(0) << "Subtracted vector: " << first->x << endl;
-          n.CopyVector(&z);
-          n.Scale(first->x.ScalarProduct(&z));
+          n = z;
+          n.Scale(first->x.ScalarProduct(z));
           Log() << Verbose(0) << "N2: " << n << endl;
-          first->x.SubtractVector(&n);
+          first->x -= n;
           Log() << Verbose(0) << "2nd subtracted vector: " << first->x << endl;
 
           // rotate another vector around second angle
-          n.CopyVector(&y);
+          n = y;
           n = RotateVector(n,x,c - M_PI);
           Log() << Verbose(0) << "2nd Rotated vector: " << n << endl;
 
           // add the two linear independent vectors
-          first->x.AddVector(&n);
+          first->x += n;
           first->x.Normalize();
           first->x.Scale(a);
-          first->x.AddVector(&second->x);
+          first->x += second->x;
 
           Log() << Verbose(0) << "resulting coordinates: " << first->x << endl;
@@ -277,8 +276,6 @@
       }
       mol->CenterEdge(&x);  // make every coordinate positive
-      mol->Center.AddVector(&y); // translate by boundary
-      helper.CopyVector(&y);
-      helper.Scale(2.);
-      helper.AddVector(&x);
+      mol->Center += y; // translate by boundary
+      helper = (2*y)+x;
       mol->SetBoxDimension(&helper);  // update Box of atoms by boundary
       break;
@@ -340,6 +337,5 @@
       second = mol->AskAtom("Enter second atom: ");
 
-      n.CopyVector((const Vector *)&first->x);
-      n.SubtractVector((const Vector *)&second->x);
+      n = first->x - second->x;
       n.Normalize();
       break;
@@ -408,6 +404,5 @@
       second = mol->AskAtom("Enter second atom: ");
 
-      n.CopyVector((const Vector *)&first->x);
-      n.SubtractVector((const Vector *)&second->x);
+      n = first->x - second->x;
       n.Normalize();
       break;
@@ -453,5 +448,5 @@
         first = second;
         second = first->next;
-        if (first->x.DistanceSquared((const Vector *)&second->x) > tmp1*tmp1) // distance to first above radius ...
+        if (first->x.DistanceSquared(second->x) > tmp1*tmp1) // distance to first above radius ...
           mol->RemoveAtom(first);
       }
@@ -520,6 +515,5 @@
         tmp1 = 0.;
         if (first != second) {
-          x.CopyVector((const Vector *)&first->x);
-          x.SubtractVector((const Vector *)&second->x);
+          x = first->x - second->x;
           tmp1 = x.Norm();
         }
@@ -536,6 +530,5 @@
       for (int i=NDIM;i--;)
         min[i] = 0.;
-      x.CopyVector((const Vector *)&first->x);
-      x.SubtractVector((const Vector *)&second->x);
+      x = first->x - second->x;
       tmp1 = x.Norm();
       Log() << Verbose(1) << "Distance vector is " << x << "." << "/n"
@@ -549,10 +542,8 @@
       third  = mol->AskAtom("Enter last atom: ");
       tmp1 = tmp2 = tmp3 = 0.;
-      x.CopyVector((const Vector *)&first->x);
-      x.SubtractVector((const Vector *)&second->x);
-      y.CopyVector((const Vector *)&third->x);
-      y.SubtractVector((const Vector *)&second->x);
+      x = first->x - second->x;
+      y = third->x - second->x;
       Log() << Verbose(0) << "Bond angle between first atom Nr." << first->nr << ", central atom Nr." << second->nr << " and last atom Nr." << third->nr << ": ";
-      Log() << Verbose(0) << (acos(x.ScalarProduct((const Vector *)&y)/(y.Norm()*x.Norm()))/M_PI*180.) << " degrees" << endl;
+      Log() << Verbose(0) << (acos(x.ScalarProduct(y)/(y.Norm()*x.Norm()))/M_PI*180.) << " degrees" << endl;
       break;
     case 'd':
@@ -777,9 +768,8 @@
       y[abs(axis)-1] = mol->cell_size[(abs(axis) == 2) ? 2 : ((abs(axis) == 3) ? 5 : 0)] * abs(axis)/axis; // last term is for sign, first is for magnitude
       for (int i=1;i<faktor;i++) {  // then add this list with respective translation factor times
-        x.AddVector(&y); // per factor one cell width further
+        x += y; // per factor one cell width further
         for (int k=count;k--;) { // go through every atom of the original cell
           first = World::getInstance().createAtom(); // create a new body
-          first->x.CopyVector(vectors[k]);  // use coordinate of original atom
-          first->x.AddVector(&x);     // translate the coordinates
+          first->x = (*vectors[k]) + x;  // use coordinate of original atom
           first->type = Elements[k];  // insert original element
           mol->AddAtom(first);        // and add to the molecule (which increments ElementsInMolecule, AtomCount, ...)
@@ -793,6 +783,5 @@
       // correct cell size
       if (axis < 0) { // if sign was negative, we have to translate everything
-        x.Zero();
-        x.AddVector(&y);
+        x = y;
         x.Scale(-(faktor-1));
         mol->Translate(&x);
@@ -894,5 +883,5 @@
         dialog->display();
         delete dialog;
-        mol->Center.AddVector((const Vector *)&x);
+        mol->Center += x;
      }
      break;
