Index: src/unittests/ActOnAllUnitTest.cpp
===================================================================
--- src/unittests/ActOnAllUnitTest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/ActOnAllUnitTest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -70,15 +70,8 @@
 
   // scaling by value
-  VL.ActOnAll( (void (Vector::*)(const double)) &Vector::Scale, 2. );
+  VL.ActOnAll( (void (Vector::*)(const double)) &Vector::Scale, factor );
   CPPUNIT_ASSERT_EQUAL( VL == Ref , false );
 
-  VL.ActOnAll( (void (Vector::*)(const double)) &Vector::Scale, 0.5 );
-  CPPUNIT_ASSERT_EQUAL( VL == Ref , true );
-
-  // scaling by ref
-  VL.ActOnAll( (void (Vector::*)(const double * const)) &Vector::Scale, (const double * const)&factor );
-  CPPUNIT_ASSERT_EQUAL( VL == Ref , false );
-
-  VL.ActOnAll( (void (Vector::*)(const double * const)) &Vector::Scale, (const double * const)&inverse );
+  VL.ActOnAll( (void (Vector::*)(const double)) &Vector::Scale, inverse );
   CPPUNIT_ASSERT_EQUAL( VL == Ref , true );
 
@@ -90,8 +83,8 @@
     inverses[i] = 1./factors[i];
   }
-  VL.ActOnAll( (void (Vector::*)(const double ** const)) &Vector::Scale, (const double ** const)&factors );
+  VL.ActOnAll<Vector,void,const double*>(&Vector::ScaleAll, factors );
   CPPUNIT_ASSERT_EQUAL( VL == Ref , false );
 
-  VL.ActOnAll( (void (Vector::*)(const double ** const)) &Vector::Scale, (const double ** const)&inverses );
+  VL.ActOnAll<Vector,void,const double*>(&Vector::ScaleAll, inverses );
   CPPUNIT_ASSERT_EQUAL( VL == Ref , true );
   Free(factors);
Index: src/unittests/AnalysisCorrelationToPointUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToPointUnitTest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/AnalysisCorrelationToPointUnitTest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -64,17 +64,17 @@
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 0., 1. );
+  *Walker->node = Vector(1., 0., 1. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 1., 1. );
+  *Walker->node = Vector(0., 1., 1. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 1., 0. );
+  *Walker->node = Vector(1., 1., 0. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 0., 0. );
+  *Walker->node = Vector(0., 0., 0. );
   TestMolecule->AddAtom(Walker);
 
Index: src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -40,5 +40,5 @@
 void AnalysisCorrelationToSurfaceUnitTest::setUp()
 {
-  ASSERT_DO(Assert::Throw);
+  //ASSERT_DO(Assert::Throw);
 
   atom *Walker = NULL;
@@ -73,17 +73,17 @@
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 0., 1. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = hydrogen;
-  Walker->node->Init(0., 1., 1. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = hydrogen;
-  Walker->node->Init(1., 1., 0. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = hydrogen;
-  Walker->node->Init(0., 0., 0. );
+  *Walker->node = Vector(1., 0., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = hydrogen;
+  *Walker->node = Vector(0., 1., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = hydrogen;
+  *Walker->node = Vector(1., 1., 0. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = hydrogen;
+  *Walker->node = Vector(0., 0., 0. );
   TestMolecule->AddAtom(Walker);
 
@@ -106,18 +106,18 @@
   Walker = World::getInstance().createAtom();
   Walker->type = carbon;
-  Walker->node->Init(4., 0., 4. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = carbon;
-  Walker->node->Init(0., 4., 4. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = carbon;
-  Walker->node->Init(4., 4., 0. );
+  *Walker->node = Vector(4., 0., 4. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = carbon;
+  *Walker->node = Vector(0., 4., 4. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = carbon;
+  *Walker->node = Vector(4., 4., 0. );
   TestMolecule->AddAtom(Walker);
   // add inner atoms
   Walker = World::getInstance().createAtom();
   Walker->type = carbon;
-  Walker->node->Init(0.5, 0.5, 0.5 );
+  *Walker->node = Vector(0.5, 0.5, 0.5 );
   TestMolecule->AddAtom(Walker);
 
Index: src/unittests/AnalysisPairCorrelationUnitTest.cpp
===================================================================
--- src/unittests/AnalysisPairCorrelationUnitTest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/AnalysisPairCorrelationUnitTest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -63,17 +63,17 @@
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 0., 1. );
+  *Walker->node = Vector(1., 0., 1. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 1., 1. );
+  *Walker->node = Vector(0., 1., 1. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 1., 0. );
+  *Walker->node = Vector(1., 1., 0. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 0., 0. );
+  *Walker->node = Vector(0., 0., 0. );
   TestMolecule->AddAtom(Walker);
 
Index: src/unittests/analysisbondsunittest.cpp
===================================================================
--- src/unittests/analysisbondsunittest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/analysisbondsunittest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -69,21 +69,21 @@
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1.5, 0., 1.5 );
+  *Walker->node = Vector(1.5, 0., 1.5 );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 1.5, 1.5 );
+  *Walker->node = Vector(0., 1.5, 1.5 );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1.5, 1.5, 0. );
+  *Walker->node = Vector(1.5, 1.5, 0. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 0., 0. );
+  *Walker->node = Vector(0., 0., 0. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = carbon;
-  Walker->node->Init(0.5, 0.5, 0.5 );
+  *Walker->node = Vector(0.5, 0.5, 0.5 );
   TestMolecule->AddAtom(Walker);
 
Index: src/unittests/bondgraphunittest.cpp
===================================================================
--- src/unittests/bondgraphunittest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/bondgraphunittest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -65,17 +65,17 @@
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 0., 1. );
+  *Walker->node = Vector(1., 0., 1. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 1., 1. );
+  *Walker->node = Vector(0., 1., 1. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 1., 0. );
+  *Walker->node = Vector(1., 1., 0. );
   TestMolecule->AddAtom(Walker);
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(0., 0., 0. );
+  *Walker->node = Vector(0., 0., 0. );
   TestMolecule->AddAtom(Walker);
 
Index: src/unittests/listofbondsunittest.cpp
===================================================================
--- src/unittests/listofbondsunittest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/listofbondsunittest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -58,17 +58,17 @@
   Walker = World::getInstance().createAtom();
   Walker->type = hydrogen;
-  Walker->node->Init(1., 0., 1. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = hydrogen;
-  Walker->node->Init(0., 1., 1. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = hydrogen;
-  Walker->node->Init(1., 1., 0. );
-  TestMolecule->AddAtom(Walker);
-  Walker = World::getInstance().createAtom();
-  Walker->type = hydrogen;
-  Walker->node->Init(0., 0., 0. );
+  *Walker->node = Vector(1., 0., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = hydrogen;
+  *Walker->node = Vector(0., 1., 1. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = hydrogen;
+  *Walker->node = Vector(1., 1., 0. );
+  TestMolecule->AddAtom(Walker);
+  Walker = World::getInstance().createAtom();
+  Walker->type = hydrogen;
+  *Walker->node = Vector(0., 0., 0. );
   TestMolecule->AddAtom(Walker);
 
Index: src/unittests/tesselation_boundarytriangleunittest.cpp
===================================================================
--- src/unittests/tesselation_boundarytriangleunittest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/tesselation_boundarytriangleunittest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -86,49 +86,49 @@
 
   // simple test on y line
-  Point.Init(-1.,0.5,0.);
-  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,0.5,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(-4.,0.5,0.);
+  Point = Vector(-1.,0.5,0.);
+  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
+  Point = Vector(0.,0.5,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(-4.,0.5,0.);
   CPPUNIT_ASSERT_EQUAL( 16., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,0.5,0.);
+  Point = Vector(0.,0.5,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on x line
-  Point.Init(0.5,-1.,0.);
-  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(0.5,-6.,0.);
+  Point = Vector(0.5,-1.,0.);
+  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
+  Point = Vector(0.5,0.,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(0.5,-6.,0.);
   CPPUNIT_ASSERT_EQUAL( 36., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.,0.);
+  Point = Vector(0.5,0.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on slanted line
-  Point.Init(1.,1.,0.);
+  Point = Vector(1.,1.,0.);
   CPPUNIT_ASSERT_EQUAL( 0.5, triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.5,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(5.,5.,0.);
+  Point = Vector(0.5,0.5,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(5.,5.,0.);
   CPPUNIT_ASSERT_EQUAL( 40.5, triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.5,0.);
+  Point = Vector(0.5,0.5,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on first node
-  Point.Init(-1.,-1.,0.);
+  Point = Vector(-1.,-1.,0.);
   CPPUNIT_ASSERT_EQUAL( 2., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,0.,0.);
+  Point = Vector(0.,0.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on second node
-  Point.Init(0.,2.,0.);
-  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,1.,0.);
+  Point = Vector(0.,2.,0.);
+  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
+  Point = Vector(0.,1.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on third node
-  Point.Init(2.,0.,0.);
-  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(1.,0.,0.);
+  Point = Vector(2.,0.,0.);
+  CPPUNIT_ASSERT_EQUAL( 1., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
+  Point = Vector(1.,0.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 };
@@ -142,59 +142,59 @@
 
   // straight down/up
-  Point.Init(1./3.,1./3.,+5.);
+  Point = Vector(1./3.,1./3.,+5.);
   CPPUNIT_ASSERT_EQUAL( 25. , triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(1./3.,1./3.,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(1./3.,1./3.,-5.);
+  Point = Vector(1./3.,1./3.,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(1./3.,1./3.,-5.);
   CPPUNIT_ASSERT_EQUAL( 25. , triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(1./3.,1./3.,0.);
+  Point = Vector(1./3.,1./3.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on y line
-  Point.Init(-1.,0.5,+2.);
+  Point = Vector(-1.,0.5,+2.);
   CPPUNIT_ASSERT_EQUAL( 5., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,0.5,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(-1.,0.5,-3.);
+  Point = Vector(0.,0.5,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(-1.,0.5,-3.);
   CPPUNIT_ASSERT_EQUAL( 10., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,0.5,0.);
+  Point = Vector(0.,0.5,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on x line
-  Point.Init(0.5,-1.,+1.);
+  Point = Vector(0.5,-1.,+1.);
   CPPUNIT_ASSERT_EQUAL( 2., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(0.5,-1.,-2.);
+  Point = Vector(0.5,0.,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(0.5,-1.,-2.);
   CPPUNIT_ASSERT_EQUAL( 5., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.,0.);
+  Point = Vector(0.5,0.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on slanted line
-  Point.Init(1.,1.,+3.);
+  Point = Vector(1.,1.,+3.);
   CPPUNIT_ASSERT_EQUAL( 9.5, triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.5,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-  Point.Init(1.,1.,-4.);
+  Point = Vector(0.5,0.5,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+  Point = Vector(1.,1.,-4.);
   CPPUNIT_ASSERT_EQUAL( 16.5, triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.5,0.5,0.);
+  Point = Vector(0.5,0.5,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on first node
-  Point.Init(-1.,-1.,5.);
+  Point = Vector(-1.,-1.,5.);
   CPPUNIT_ASSERT_EQUAL( 27., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,0.,0.);
+  Point = Vector(0.,0.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on second node
-  Point.Init(0.,2.,5.);
+  Point = Vector(0.,2.,5.);
   CPPUNIT_ASSERT_EQUAL( 26., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(0.,1.,0.);
+  Point = Vector(0.,1.,0.);
   CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
 
   // simple test on third node
-  Point.Init(2.,0.,5.);
+  Point = Vector(2.,0.,5.);
   CPPUNIT_ASSERT_EQUAL( 26., triangle->GetClosestPointInsideTriangle(&Point, &TestIntersection) );
-  Point.Init(1.,0.,0.);
-  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
-};
+  Point = Vector(1.,0.,0.);
+  CPPUNIT_ASSERT_EQUAL( true , Point == TestIntersection );
+};
Index: src/unittests/vectorunittest.cpp
===================================================================
--- src/unittests/vectorunittest.cpp	(revision 2733825a2c3f421fa61f61e58f954fa295e6e23d)
+++ src/unittests/vectorunittest.cpp	(revision 1bd79efa209ce2203a329de83169d52ea290fa17)
@@ -26,4 +26,8 @@
 #endif /*HAVE_TESTRUNNER*/
 
+#include <iostream>
+
+using namespace std;
+
 /********************************************** Test classes **************************************/
 
@@ -34,9 +38,9 @@
 void VectorTest::setUp()
 {
-  zero.Init(0.,0.,0.);
-  unit.Init(1.,0.,0.);
-  otherunit.Init(0.,1.,0.);
-  notunit.Init(0.,1.,1.);
-  two.Init(2.,1.,0.);
+  zero  = Vector(0.,0.,0.);
+  unit = Vector(1.,0.,0.);
+  otherunit = Vector(0.,1.,0.);
+  notunit = Vector(0.,1.,1.);
+  two = Vector(2.,1.,0.);
 };
 
@@ -69,5 +73,5 @@
   double factor;
   // copy vector
-  fixture.Init(2.,3.,4.);
+  fixture = Vector(2.,3.,4.);
   CPPUNIT_ASSERT_EQUAL( Vector(2.,3.,4.), fixture );
   // summation and scaling
@@ -223,5 +227,5 @@
 void VectorTest::VectorRotationTest()
 {
-  fixture.Init(-1.,0.,0.);
+  fixture = Vector(-1.,0.,0.);
 
   // zero vector does not change
@@ -266,18 +270,18 @@
   parallelepiped[8] = 1;
 
-  fixture.CopyVector(zero);
-  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-  fixture.Init(2.5,2.5,2.5);
+  fixture = zero;
+  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
+  fixture = Vector(2.5,2.5,2.5);
   CPPUNIT_ASSERT_EQUAL( true, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-  fixture.Init(1.,1.,1.);
-  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-  fixture.Init(3.5,3.5,3.5);
-  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-  fixture.Init(2.,2.,2.);
+  fixture = Vector(1.,1.,1.);
+  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
+  fixture = Vector(3.5,3.5,3.5);
+  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
+  fixture = Vector(2.,2.,2.);
   CPPUNIT_ASSERT_EQUAL( true, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-  fixture.Init(2.,3.,2.);
+  fixture = Vector(2.,3.,2.);
   CPPUNIT_ASSERT_EQUAL( true, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-  fixture.Init(-2.,2.,-1.);
-  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
-}
-
+  fixture = Vector(-2.,2.,-1.);
+  CPPUNIT_ASSERT_EQUAL( false, fixture.IsInParallelepiped(Vector(2.,2.,2.), parallelepiped) );
+}
+
