Index: src/unittests/AnalysisCorrelationToPointUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToPointUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToPointUnitTest.cpp	(revision bbc338b903a7127c1e2577a93470caf743c9afc3)
@@ -44,5 +44,6 @@
   hydrogen->Z = 1;
   strcpy(hydrogen->name, "hydrogen");
-  hydrogen->symbol[0] = 'H';
+  strcpy(hydrogen->symbol, "H");
+
 
   // construct periodentafel
Index: src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
===================================================================
--- src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp	(revision bbc338b903a7127c1e2577a93470caf743c9afc3)
@@ -46,11 +46,16 @@
   hydrogen->Z = 1;
   strcpy(hydrogen->name, "hydrogen");
-  hydrogen->symbol[0] = 'H';
+  strcpy(hydrogen->symbol, "H");
+  carbon = new element;
+  carbon->Z = 6;
+  strcpy(carbon->name, "carbon");
+  strcpy(carbon->symbol, "C");
 
   // construct periodentafel
   tafel = new periodentafel;
   tafel->AddElement(hydrogen);
-
-  // construct molecule (tetraeder of hydrogens)
+  tafel->AddElement(carbon);
+
+  // construct molecule (tetraeder of hydrogens) base
   TestMolecule = new molecule(tafel);
   Walker = new atom();
@@ -77,5 +82,5 @@
   Surface = new Tesselation;
   TestMolecule->TesselStruct = Surface;
-  FindNonConvexBorder((ofstream *)&cout, TestMolecule, LC, 2.5, NULL);
+  FindNonConvexBorder((ofstream *)&cerr, TestMolecule, LC, 2.5, NULL);
   LC = new LinkedCell(TestMolecule, 5.);
   CPPUNIT_ASSERT_EQUAL( (size_t)4, Surface->PointsOnBoundary.size() );
@@ -83,6 +88,25 @@
   CPPUNIT_ASSERT_EQUAL( (size_t)4, Surface->TrianglesOnBoundary.size() );
 
+  // add outer atoms
+  Walker = new atom();
+  Walker->type = carbon;
+  Walker->node->Init(4., 0., 4. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = carbon;
+  Walker->node->Init(0., 4., 4. );
+  TestMolecule->AddAtom(Walker);
+  Walker = new atom();
+  Walker->type = carbon;
+  Walker->node->Init(4., 4., 0. );
+  TestMolecule->AddAtom(Walker);
+  // add inner atoms
+  Walker = new atom();
+  Walker->type = carbon;
+  Walker->node->Init(0.5, 0.5, 0.5 );
+  TestMolecule->AddAtom(Walker);
+
   // init maps
-  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, hydrogen, Surface, LC );
+  surfacemap = NULL;
   binmap = NULL;
 
@@ -109,11 +133,13 @@
 {
   // do the pair correlation
+  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, hydrogen, Surface, LC );
   CPPUNIT_ASSERT( surfacemap != NULL );
   CPPUNIT_ASSERT_EQUAL( (size_t)4, surfacemap->size() );
 };
 
-void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceBinNoRangeTest()
-{
-  BinPairMap::iterator tester;
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceHydrogenBinNoRangeTest()
+{
+  BinPairMap::iterator tester;
+  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, hydrogen, Surface, LC );
   // put pair correlation into bins and check with no range
   binmap = BinData( (ofstream *)&cout, surfacemap, 0.5, 0., 0. );
@@ -126,7 +152,8 @@
 };
 
-void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceBinRangeTest()
-{
-  BinPairMap::iterator tester;
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceHydrogenBinRangeTest()
+{
+  BinPairMap::iterator tester;
+  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, hydrogen, Surface, LC );
   // ... and check with [0., 2.] range
   binmap = BinData( (ofstream *)&cout, surfacemap, 0.5, 0., 2. );
@@ -142,4 +169,41 @@
 };
 
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceCarbonBinNoRangeTest()
+{
+  BinPairMap::iterator tester;
+  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, carbon, Surface, LC );
+  // put pair correlation into bins and check with no range
+  binmap = BinData( (ofstream *)&cout, surfacemap, 0.5, 0., 0. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)2, binmap->size() );
+  OutputCorrelation ( (ofstream *)&cout, binmap );
+  // inside point is first and must have negative value
+  tester = binmap->lower_bound(2.95); // start depends on the min value and
+  CPPUNIT_ASSERT( tester != binmap->end() );
+  CPPUNIT_ASSERT_EQUAL( 3, tester->second );
+  // inner point
+  tester = binmap->lower_bound(0.);
+  CPPUNIT_ASSERT( tester != binmap->end() );
+  CPPUNIT_ASSERT_EQUAL( 1, tester->second );
+};
+
+void AnalysisCorrelationToSurfaceUnitTest::CorrelationToSurfaceCarbonBinRangeTest()
+{
+  BinPairMap::iterator tester;
+  surfacemap = CorrelationToSurface( (ofstream *)&cout, TestMolecule, carbon, Surface, LC );
+  // ... and check with [0., 2.] range
+  binmap = BinData( (ofstream *)&cout, surfacemap, 0.5, -2., 4. );
+  CPPUNIT_ASSERT_EQUAL( (size_t)13, binmap->size() );
+  OutputCorrelation ( (ofstream *)&cout, binmap );
+  // three outside points
+  tester = binmap->find(3.);
+  CPPUNIT_ASSERT( tester != binmap->end() );
+  CPPUNIT_ASSERT_EQUAL( 3, tester->second );
+  // inner point
+  tester = binmap->find(0.);
+  CPPUNIT_ASSERT( tester != binmap->end() );
+  CPPUNIT_ASSERT_EQUAL( 1, tester->second );
+
+};
+
 /********************************************** Main routine **************************************/
 
Index: src/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp
===================================================================
--- src/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp	(revision bbc338b903a7127c1e2577a93470caf743c9afc3)
@@ -23,6 +23,8 @@
     CPPUNIT_TEST_SUITE( AnalysisCorrelationToSurfaceUnitTest ) ;
     CPPUNIT_TEST ( CorrelationToSurfaceTest );
-    CPPUNIT_TEST ( CorrelationToSurfaceBinNoRangeTest );
-    CPPUNIT_TEST ( CorrelationToSurfaceBinRangeTest );
+    CPPUNIT_TEST ( CorrelationToSurfaceHydrogenBinNoRangeTest );
+    CPPUNIT_TEST ( CorrelationToSurfaceHydrogenBinRangeTest );
+    CPPUNIT_TEST ( CorrelationToSurfaceCarbonBinNoRangeTest );
+    CPPUNIT_TEST ( CorrelationToSurfaceCarbonBinRangeTest );
     CPPUNIT_TEST_SUITE_END();
 
@@ -31,6 +33,8 @@
       void tearDown();
       void CorrelationToSurfaceTest();
-      void CorrelationToSurfaceBinNoRangeTest();
-      void CorrelationToSurfaceBinRangeTest();
+      void CorrelationToSurfaceHydrogenBinNoRangeTest();
+      void CorrelationToSurfaceHydrogenBinRangeTest();
+      void CorrelationToSurfaceCarbonBinNoRangeTest();
+      void CorrelationToSurfaceCarbonBinRangeTest();
 
 private:
@@ -38,4 +42,5 @@
       molecule *TestMolecule;
       element *hydrogen;
+      element *carbon;
       periodentafel *tafel;
 
Index: src/unittests/AnalysisPairCorrelationUnitTest.cpp
===================================================================
--- src/unittests/AnalysisPairCorrelationUnitTest.cpp	(revision c4d4dfcf2b2eb619122842838b8a34fed1b278e5)
+++ src/unittests/AnalysisPairCorrelationUnitTest.cpp	(revision bbc338b903a7127c1e2577a93470caf743c9afc3)
@@ -44,5 +44,5 @@
   hydrogen->Z = 1;
   strcpy(hydrogen->name, "hydrogen");
-  hydrogen->symbol[0] = 'H';
+  strcpy(hydrogen->symbol, "H");
 
   // construct periodentafel
