Index: src/Actions/AnalysisAction/MolecularVolumeAction.cpp
===================================================================
--- src/Actions/AnalysisAction/MolecularVolumeAction.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/Actions/AnalysisAction/MolecularVolumeAction.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -51,5 +51,5 @@
     const LinkedCell *LCList = NULL;
     DoLog(0) && (Log() << Verbose(0) << "Evaluating volume of the convex envelope.");
-    LCList = new LinkedCell(mol, 10.);
+    LCList = new LinkedCell(*mol, 10.);
     config * const configuration = World::getInstance().getConfig();
     //Boundaries *BoundaryPoints = NULL;
Index: src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp
===================================================================
--- src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -73,5 +73,5 @@
   std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
   std::cout << "There are " << molecules.size() << " selected molecules." << std::endl;
-  LCList = new LinkedCell(params.Boundary, LCWidth);
+  LCList = new LinkedCell(*params.Boundary, LCWidth);
   FindNonConvexBorder(params.Boundary, TesselStruct, LCList, radius, NULL);
   CorrelationToSurfaceMap *surfacemap = NULL;
Index: src/Actions/TesselationAction/ConvexEnvelopeAction.cpp
===================================================================
--- src/Actions/TesselationAction/ConvexEnvelopeAction.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/Actions/TesselationAction/ConvexEnvelopeAction.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -55,5 +55,5 @@
     DoLog(1) && (Log() << Verbose(1) << "Storing tecplot convex data in " << params.filenameConvex << "." << endl);
     DoLog(1) && (Log() << Verbose(1) << "Storing tecplot non-convex data in " << params.filenameNonConvex << "." << endl);
-    LCList = new LinkedCell(mol, 100.);
+    LCList = new LinkedCell(*mol, 100.);
     //Boundaries *BoundaryPoints = NULL;
     //FindConvexBorder(mol, BoundaryPoints, TesselStruct, LCList, argv[argptr]);
Index: src/Actions/TesselationAction/NonConvexEnvelopeAction.cpp
===================================================================
--- src/Actions/TesselationAction/NonConvexEnvelopeAction.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/Actions/TesselationAction/NonConvexEnvelopeAction.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -55,5 +55,5 @@
     DoLog(1) && (Log() << Verbose(1) << "Specified molecule has " << Boundary->getAtomCount() << " atoms." << endl);
     start = clock();
-    LCList = new LinkedCell(Boundary, params.SphereRadius*2.);
+    LCList = new LinkedCell(*Boundary, params.SphereRadius*2.);
     Success = FindNonConvexBorder(Boundary, T, LCList, params.SphereRadius, params.filename.c_str());
     //FindDistributionOfEllipsoids(T, &LCList, N, number, params.filename.c_str());
Index: src/bondgraph.cpp
===================================================================
--- src/bondgraph.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/bondgraph.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -154,4 +154,13 @@
 };
 
+/** Returns the maximum distance (e.g. necessary for LinkedCell).
+ * \return BondGraph::max_distance
+ */
+double BondGraph::getMaxDistance() const
+{
+  return max_distance;
+}
+
+
 /** Returns bond criterion for given pair based on covalent radius.
  * \param *Walker first BondedParticle
Index: src/bondgraph.hpp
===================================================================
--- src/bondgraph.hpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/bondgraph.hpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -44,4 +44,6 @@
   void CovalentMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker, double &MinDistance, double &MaxDistance, bool IsAngstroem);
 
+  double getMaxDistance() const;
+
 private:
   static const double BondThreshold;
Index: src/boundary.cpp
===================================================================
--- src/boundary.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/boundary.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -698,5 +698,5 @@
   BoundaryPoints = GetBoundaryPoints(mol, TesselStruct);
   GreatestDiameter = GetDiametersOfCluster(BoundaryPoints, mol, TesselStruct, IsAngstroem);
-  LinkedCell *LCList = new LinkedCell(mol, 10.);
+  LinkedCell *LCList = new LinkedCell(*mol, 10.);
   FindConvexBorder(mol, BoundaryPoints, TesselStruct, (const LinkedCell *&)LCList, NULL);
   delete (LCList);
@@ -808,5 +808,5 @@
     if ((*ListRunner)->getAtomCount() > 0) {
       DoLog(1) && (Log() << Verbose(1) << "Pre-creating linked cell lists for molecule " << *ListRunner << "." << endl);
-      LCList[(*ListRunner)] = new LinkedCell((*ListRunner), 10.); // get linked cell list
+      LCList[(*ListRunner)] = new LinkedCell(*(*ListRunner), 10.); // get linked cell list
       DoLog(1) && (Log() << Verbose(1) << "Pre-creating tesselation for molecule " << *ListRunner << "." << endl);
       TesselStruct[(*ListRunner)] = NULL;
@@ -957,5 +957,5 @@
   // initialise Linked Cell
   if (LCList == NULL) {
-    LCList = new LinkedCell(mol, 2.*RADIUS);
+    LCList = new LinkedCell(*mol, 2.*RADIUS);
     freeLC = true;
   }
Index: src/linkedcell.cpp
===================================================================
--- src/linkedcell.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/linkedcell.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -25,4 +25,5 @@
 #include "Helpers/Log.hpp"
 #include "molecule.hpp"
+#include "PointCloud.hpp"
 #include "tesselation.hpp"
 #include "LinearAlgebra/Vector.hpp"
@@ -30,4 +31,23 @@
 // ========================================================= class LinkedCell ===========================================
 
+/** Constructor for class LinkedCell::LinkedNodes.
+ */
+LinkedCell::LinkedNodes::LinkedNodes()
+{}
+
+/** Destructor for class LinkedCell::LinkedNodes.
+ */
+LinkedCell::LinkedNodes::~LinkedNodes()
+{}
+
+TesselPoint * LinkedCell::LinkedNodes::getValue (const_iterator &rhs) const
+{
+  return *rhs;
+}
+
+TesselPoint * LinkedCell::LinkedNodes::getValue (iterator &rhs) const
+{
+  return *rhs;
+}
 
 /** Constructor for class LinkedCell.
@@ -48,5 +68,5 @@
  * \param RADIUS edge length of cells
  */
-LinkedCell::LinkedCell(const PointCloud * const set, const double radius) :
+LinkedCell::LinkedCell(const PointCloud & set, const double radius) :
   LC(NULL),
   RADIUS(radius),
@@ -60,18 +80,18 @@
   min.Zero();
   DoLog(1) && (Log() << Verbose(1) << "Begin of LinkedCell" << endl);
-  if ((set == NULL) || (set->IsEmpty())) {
+  if (set.IsEmpty()) {
     DoeLog(1) && (eLog()<< Verbose(1) << "set is NULL or contains no linked cell nodes!" << endl);
     return;
   }
   // 1. find max and min per axis of atoms
-  set->GoToFirst();
-  Walker = set->GetPoint();
+  set.GoToFirst();
+  Walker = set.GetPoint();
   for (int i=0;i<NDIM;i++) {
     max[i] = Walker->at(i);
     min[i] = Walker->at(i);
   }
-  set->GoToFirst();
-  while (!set->IsEnd()) {
-    Walker = set->GetPoint();
+  set.GoToFirst();
+  while (!set.IsEnd()) {
+    Walker = set.GetPoint();
     for (int i=0;i<NDIM;i++) {
       if (max[i] < Walker->at(i))
@@ -80,5 +100,5 @@
         min[i] = Walker->at(i);
     }
-    set->GoToNext();
+    set.GoToNext();
   }
   DoLog(2) && (Log() << Verbose(2) << "Bounding box is " << min << " and " << max << "." << endl);
@@ -105,7 +125,7 @@
   // 4. put each atom into its respective cell
   DoLog(2) && (Log() << Verbose(2) << "Filling cells ... ");
-  set->GoToFirst();
-  while (!set->IsEnd()) {
-    Walker = set->GetPoint();
+  set.GoToFirst();
+  while (!set.IsEnd()) {
+    Walker = set.GetPoint();
     for (int i=0;i<NDIM;i++) {
       n[i] = static_cast<int>(floor((Walker->at(i) - min[i])/RADIUS));
@@ -114,5 +134,5 @@
     LC[index].push_back(Walker);
     //Log() << Verbose(2) << *Walker << " goes into cell " << n[0] << ", " << n[1] << ", " << n[2] << " with No. " << index << "." << endl;
-    set->GoToNext();
+    set.GoToNext();
   }
   DoLog(0) && (Log() << Verbose(0) << "done."  << endl);
@@ -120,74 +140,4 @@
 };
 
-
-/** Puts all atoms in \a *mol into a linked cell list with cell's lengths of \a RADIUS
- * \param *set LCNodeSet class with all LCNode's
- * \param RADIUS edge length of cells
- */
-LinkedCell::LinkedCell(LinkedNodes *set, const double radius) :
-  LC(NULL),
-  RADIUS(radius),
-  index(-1)
-{
-  class TesselPoint *Walker = NULL;
-  for(int i=0;i<NDIM;i++)
-    N[i] = 0;
-  max.Zero();
-  min.Zero();
-  DoLog(1) && (Log() << Verbose(1) << "Begin of LinkedCell" << endl);
-  if (set->empty()) {
-    DoeLog(1) && (eLog()<< Verbose(1) << "set contains no linked cell nodes!" << endl);
-    return;
-  }
-  // 1. find max and min per axis of atoms
-  LinkedNodes::iterator Runner = set->begin();
-  for (int i=0;i<NDIM;i++) {
-    max[i] = (*Runner)->at(i);
-    min[i] = (*Runner)->at(i);
-  }
-  for (LinkedNodes::iterator Runner = set->begin(); Runner != set->end(); Runner++) {
-    Walker = *Runner;
-    for (int i=0;i<NDIM;i++) {
-      if (max[i] < Walker->at(i))
-        max[i] = Walker->at(i);
-      if (min[i] > Walker->at(i))
-        min[i] = Walker->at(i);
-    }
-  }
-  DoLog(2) && (Log() << Verbose(2) << "Bounding box is " << min << " and " << max << "." << endl);
-
-  // 2. find then number of cells per axis
-  for (int i=0;i<NDIM;i++) {
-    N[i] = static_cast<int>(floor((max[i] - min[i])/RADIUS)+1);
-  }
-  DoLog(2) && (Log() << Verbose(2) << "Number of cells per axis are " << N[0] << ", " << N[1] << " and " << N[2] << "." << endl);
-
-  // 3. allocate the lists
-  DoLog(2) && (Log() << Verbose(2) << "Allocating cells ... ");
-  if (LC != NULL) {
-    DoeLog(1) && (eLog()<< Verbose(1) << "Linked Cell list is already allocated, I do nothing." << endl);
-    return;
-  }
-  ASSERT(N[0]*N[1]*N[2] < MAX_LINKEDCELLNODES, "Number linked of linked cell nodes exceded hard-coded limit, use greater edge length!");
-  LC = new LinkedNodes[N[0]*N[1]*N[2]];
-  for (index=0;index<N[0]*N[1]*N[2];index++) {
-    LC [index].clear();
-  }
-  DoLog(0) && (Log() << Verbose(0) << "done."  << endl);
-
-  // 4. put each atom into its respective cell
-  DoLog(2) && (Log() << Verbose(2) << "Filling cells ... ");
-  for (LinkedNodes::iterator Runner = set->begin(); Runner != set->end(); Runner++) {
-    Walker = *Runner;
-    for (int i=0;i<NDIM;i++) {
-      n[i] = static_cast<int>(floor((Walker->at(i) - min[i])/RADIUS));
-    }
-    index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2];
-    LC[index].push_back(Walker);
-    //Log() << Verbose(2) << *Walker << " goes into cell " << n[0] << ", " << n[1] << ", " << n[2] << " with No. " << index << "." << endl;
-  }
-  DoLog(0) && (Log() << Verbose(0) << "done."  << endl);
-  DoLog(1) && (Log() << Verbose(1) << "End of LinkedCell" << endl);
-};
 
 /** Destructor for class LinkedCell.
Index: src/linkedcell.hpp
===================================================================
--- src/linkedcell.hpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/linkedcell.hpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -22,6 +22,12 @@
 
 #include <list>
+#include <vector>
+#include <map>
 
+#include "Helpers/Assert.hpp"
+#include "Helpers/Log.hpp"
+#include "Helpers/Verbose.hpp"
 #include "defs.hpp"
+#include "World.hpp"
 #include "LinearAlgebra/Vector.hpp"
 
@@ -44,5 +50,13 @@
 
 public:
-  typedef list<TesselPoint *> LinkedNodes;
+  class LinkedNodes : public std::list<TesselPoint *> {
+  public:
+    LinkedNodes();
+    ~LinkedNodes();
+
+    TesselPoint * getValue (const_iterator &rhs) const;
+    TesselPoint * getValue (iterator &rhs) const;
+  };
+  //typedef list<TesselPoint *> LinkedNodes;
 
 
@@ -56,6 +70,72 @@
 
     LinkedCell();
-    LinkedCell(const  PointCloud * const set, const double RADIUS);
-    LinkedCell(LinkedNodes *set, const double radius);
+    LinkedCell(const PointCloud &set, const double radius);
+    template <class T> LinkedCell(const T &set, const double radius) :
+      LC(NULL),
+      RADIUS(radius),
+      index(-1)
+    {
+      class TesselPoint *Walker = NULL;
+      for(int i=0;i<NDIM;i++)
+        N[i] = 0;
+      max.Zero();
+      min.Zero();
+      DoLog(1) && (Log() << Verbose(1) << "Begin of LinkedCell" << endl);
+      if (set.begin() == set.end()) {
+        DoeLog(1) && (eLog()<< Verbose(1) << "set contains no linked cell nodes!" << endl);
+        return;
+      }
+      // 1. find max and min per axis of atoms
+      typename T::const_iterator Runner = set.begin();
+      for (int i=0;i<NDIM;i++) {
+        max[i] = set.getValue(Runner)->at(i);
+        min[i] = set.getValue(Runner)->at(i);
+      }
+      for (typename T::const_iterator Runner = set.begin(); Runner != set.end(); Runner++) {
+        Walker = set.getValue(Runner);
+        for (int i=0;i<NDIM;i++) {
+          if (max[i] < Walker->at(i))
+            max[i] = Walker->at(i);
+          if (min[i] > Walker->at(i))
+            min[i] = Walker->at(i);
+        }
+      }
+      DoLog(2) && (Log() << Verbose(2) << "Bounding box is " << min << " and " << max << "." << endl);
+
+      // 2. find then number of cells per axis
+      for (int i=0;i<NDIM;i++) {
+        N[i] = static_cast<int>(floor((max[i] - min[i])/RADIUS)+1);
+      }
+      DoLog(2) && (Log() << Verbose(2) << "Number of cells per axis are " << N[0] << ", " << N[1] << " and " << N[2] << "." << endl);
+
+      // 3. allocate the lists
+      DoLog(2) && (Log() << Verbose(2) << "Allocating cells ... ");
+      if (LC != NULL) {
+        DoeLog(1) && (eLog()<< Verbose(1) << "Linked Cell list is already allocated, I do nothing." << endl);
+        return;
+      }
+      ASSERT(N[0]*N[1]*N[2] < MAX_LINKEDCELLNODES, "Number linked of linked cell nodes exceded hard-coded limit, use greater edge length!");
+      LC = new LinkedNodes[N[0]*N[1]*N[2]];
+      for (index=0;index<N[0]*N[1]*N[2];index++) {
+        LC [index].clear();
+      }
+      DoLog(0) && (Log() << Verbose(0) << "done."  << endl);
+
+      // 4. put each atom into its respective cell
+      DoLog(2) && (Log() << Verbose(2) << "Filling cells ... ");
+      for (typename T::const_iterator Runner = set.begin(); Runner != set.end(); Runner++) {
+        Walker = set.getValue(Runner);
+        for (int i=0;i<NDIM;i++) {
+          n[i] = static_cast<int>(floor((Walker->at(i) - min[i])/RADIUS));
+        }
+        index = n[0] * N[1] * N[2] + n[1] * N[2] + n[2];
+        LC[index].push_back(Walker);
+        //Log() << Verbose(2) << *Walker << " goes into cell " << n[0] << ", " << n[1] << ", " << n[2] << " with No. " << index << "." << endl;
+      }
+      DoLog(0) && (Log() << Verbose(0) << "done."  << endl);
+      DoLog(1) && (Log() << Verbose(1) << "End of LinkedCell" << endl);
+    };
+
+
     ~LinkedCell();
     const LinkedCell::LinkedNodes* GetCurrentCell()const ;
Index: src/molecule.hpp
===================================================================
--- src/molecule.hpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/molecule.hpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -143,4 +143,6 @@
   virtual bool changeId(atomId_t newId);
 
+  TesselPoint * getValue(const_iterator &rhs) const;
+  TesselPoint * getValue(iterator &rhs) const;
   iterator begin();
   const_iterator begin() const;
Index: src/molecule_graph.cpp
===================================================================
--- src/molecule_graph.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/molecule_graph.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -156,5 +156,5 @@
   if ((getAtomCount() > 1) && (bonddistance > 0.1)) {
     DoLog(2) && (Log() << Verbose(2) << "Creating Linked Cell structure ... " << endl);
-    LC = new LinkedCell(this, bonddistance);
+    LC = new LinkedCell(*this, bonddistance);
 
     // create a list to map Tesselpoint::nr to atom *
Index: src/molecule_pointcloud.cpp
===================================================================
--- src/molecule_pointcloud.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/molecule_pointcloud.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -26,4 +26,14 @@
 
 /************************************* Functions for class molecule *********************************/
+
+TesselPoint * molecule::getValue(const_iterator &rhs) const
+{
+  return *rhs;
+}
+
+TesselPoint * molecule::getValue(iterator &rhs) const
+{
+  return *rhs;
+}
 
 /** Returns a name for this point cloud, here the molecule's name.
Index: src/tesselation.cpp
===================================================================
--- src/tesselation.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/tesselation.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -85,4 +85,14 @@
 }
 ;
+
+TesselPoint * Tesselation::getValue(const_iterator &rhs) const
+{
+  return (*rhs).second->node;
+}
+
+TesselPoint * Tesselation::getValue(iterator &rhs) const
+{
+  return (*rhs).second->node;
+}
 
 /** PointCloud implementation of GetCenter
@@ -492,9 +502,9 @@
 
   cloud->GoToFirst();
-  BoundaryPoints = new LinkedCell(this, 5.);
+  BoundaryPoints = new LinkedCell(*this, 5.);
   while (!cloud->IsEnd()) { // we only have to go once through all points, as boundary can become only bigger
     if (AddFlag) {
       delete (BoundaryPoints);
-      BoundaryPoints = new LinkedCell(this, 5.);
+      BoundaryPoints = new LinkedCell(*this, 5.);
       AddFlag = false;
     }
Index: src/tesselation.hpp
===================================================================
--- src/tesselation.hpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/tesselation.hpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -27,4 +27,5 @@
 
 #include "BoundaryMaps.hpp"
+#include "BoundaryPointSet.hpp"
 #include "PointCloud.hpp"
 #include "TesselPoint.hpp"
@@ -143,4 +144,12 @@
     int TrianglesOnBoundaryCount;
 
+    typedef PointMap::iterator iterator;
+    typedef PointMap::const_iterator const_iterator;
+    TesselPoint * getValue(const_iterator &rhs) const;
+    TesselPoint * getValue(iterator &rhs) const;
+    iterator begin() { return PointsOnBoundary.begin(); }
+    const_iterator begin() const { return PointsOnBoundary.begin(); }
+    iterator end() { return PointsOnBoundary.end(); }
+    const_iterator end() const { return PointsOnBoundary.end(); }
     // PointCloud implementation for PointsOnBoundary
     virtual Vector *GetCenter(ofstream *out) const;
Index: src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -102,5 +102,5 @@
   // init tesselation and linked cell
   Surface = new Tesselation;
-  LC = new LinkedCell(TestSurfaceMolecule, 5.);
+  LC = new LinkedCell(*TestSurfaceMolecule, 5.);
   FindNonConvexBorder(TestSurfaceMolecule, Surface, (const LinkedCell *&)LC, 2.5, NULL);
 
Index: src/unittests/LinkedCellUnitTest.cpp
===================================================================
--- src/unittests/LinkedCellUnitTest.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/unittests/LinkedCellUnitTest.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -68,5 +68,5 @@
 
   // construct linked cell
-  LC = new LinkedCell (TestMolecule, 1.);
+  LC = new LinkedCell (*TestMolecule, 1.);
   CPPUNIT_ASSERT(LC != NULL && "could not create LinkedCell");
 
Index: src/unittests/tesselation_insideoutsideunittest.cpp
===================================================================
--- src/unittests/tesselation_insideoutsideunittest.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/unittests/tesselation_insideoutsideunittest.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -94,5 +94,5 @@
 
   // create linkedcell
-  LinkedList = new LinkedCell(&Corners, 2.*SPHERERADIUS);
+  LinkedList = new LinkedCell(Corners, 2.*SPHERERADIUS);
 
   // create tesselation
Index: src/unittests/tesselationunittest.cpp
===================================================================
--- src/unittests/tesselationunittest.cpp	(revision 21585fa783cda272b17cdf72bc467cda038347a8)
+++ src/unittests/tesselationunittest.cpp	(revision af2c424c3fdc756190dc3577a68e02c637a3883b)
@@ -71,5 +71,5 @@
 
   // create linkedcell
-  LinkedList = new LinkedCell(&Corners, 2.*SPHERERADIUS);
+  LinkedList = new LinkedCell(Corners, 2.*SPHERERADIUS);
 
   // create tesselation
