Index: src/Fragmentation/Homology/HomologyContainer.cpp
===================================================================
--- src/Fragmentation/Homology/HomologyContainer.cpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
+++ src/Fragmentation/Homology/HomologyContainer.cpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -0,0 +1,50 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2012 University of Bonn. All rights reserved.
+ * Please see the COPYING file or "Copyright notice" in builder.cpp for details.
+ * 
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>. 
+ */
+
+/*
+ * HomologyContainer.cpp
+ *
+ *  Created on: Sep 22, 2012
+ *      Author: heber
+ */
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "HomologyContainer.hpp"
+
+#include "Fragmentation/Graph.hpp"
+
+HomologyContainer::HomologyContainer(const Graph &keysets, const std::map< KeySet, double> &values)
+{
+  for (Graph::const_iterator iter = keysets.begin();
+      iter != keysets.end();
+      ++iter) {
+
+  }
+}
Index: src/Fragmentation/Homology/HomologyContainer.hpp
===================================================================
--- src/Fragmentation/Homology/HomologyContainer.hpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
+++ src/Fragmentation/Homology/HomologyContainer.hpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -0,0 +1,46 @@
+/*
+ * HomologyContainer.hpp
+ *
+ *  Created on: Sep 22, 2012
+ *      Author: heber
+ */
+
+#ifndef HOMOLOGYCONTAINER_HPP_
+#define HOMOLOGYCONTAINER_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <map>
+
+#include "Fragmentation/KeySet.hpp"
+
+class Graph;
+
+/** This class takes all KeySets in a Graph, checks for those that homologues
+ * of one another and places them together.
+ *
+ * This is meant as a storage for key, value pairs, where the key is the KeySet
+ * and the value is the energy associated to the fragment this keyset
+ * represents.
+ * Afterwards this can then be used as training data for a high-dimensional
+ * approximation to the Born-Oppenheimer-surface decomposed into lower-
+ * dimensional terms in an ANOVA-like fashion.
+ *
+ */
+class HomologyContainer
+{
+public:
+  HomologyContainer(const Graph &keysets, const std::map< KeySet, double> &values);
+  ~HomologyContainer() {}
+
+private:
+  typedef double value_t;
+  typedef std::multimap< KeySet, value_t> container_t;
+};
+
+
+#endif /* HOMOLOGYCONTAINER_HPP_ */
Index: src/Fragmentation/Homology/unittests/HomologyContainerUnitTest.cpp
===================================================================
--- src/Fragmentation/Homology/unittests/HomologyContainerUnitTest.cpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
+++ src/Fragmentation/Homology/unittests/HomologyContainerUnitTest.cpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -0,0 +1,77 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2012 University of Bonn. All rights reserved.
+ * 
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * HomologyContainerUnitTest.cpp
+ *
+ *  Created on: Sep 12, 2012
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+using namespace std;
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+// include headers that implement a archive in simple text format
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include "Fragmentation/Homology/HomologyContainer.hpp"
+#include "Fragmentation/Graph.hpp"
+
+#include "HomologyContainerUnitTest.hpp"
+
+#ifdef HAVE_TESTRUNNER
+#include "UnitTestMain.hpp"
+#endif /*HAVE_TESTRUNNER*/
+
+/********************************************** Test classes **************************************/
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( HomologyContainerTest );
+
+
+void HomologyContainerTest::setUp()
+{
+  Graph keysets;
+  std::map< KeySet, double> values;
+  Keys = new HomologyContainer(keysets, values);
+}
+
+
+void HomologyContainerTest::tearDown()
+{
+  delete Keys;
+}
+
+/** UnitTest for whether homologies are correctly recognized
+ */
+void HomologyContainerTest::InsertionTest()
+{
+}
Index: src/Fragmentation/Homology/unittests/HomologyContainerUnitTest.hpp
===================================================================
--- src/Fragmentation/Homology/unittests/HomologyContainerUnitTest.hpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
+++ src/Fragmentation/Homology/unittests/HomologyContainerUnitTest.hpp	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -0,0 +1,38 @@
+/*
+ * HomologyContainerUnitTest.hpp
+ *
+ *  Created on: Sep 22, 2012
+ *      Author: heber
+ */
+
+#ifndef HOMOLOGYCONTAINERUNITTEST_HPP_
+#define HOMOLOGYCONTAINERUNITTEST_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class HomologyContainer;
+
+/********************************************** Test classes **************************************/
+
+class HomologyContainerTest : public CppUnit::TestFixture
+{
+    CPPUNIT_TEST_SUITE( HomologyContainerTest) ;
+    CPPUNIT_TEST ( InsertionTest );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+      void setUp();
+      void tearDown();
+      void InsertionTest();
+
+private:
+      HomologyContainer *Keys;
+};
+
+#endif /* HOMOLOGYCONTAINERUNITTEST_HPP_ */
Index: src/Fragmentation/Homology/unittests/Makefile.am
===================================================================
--- src/Fragmentation/Homology/unittests/Makefile.am	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
+++ src/Fragmentation/Homology/unittests/Makefile.am	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -0,0 +1,33 @@
+# PLEASE adhere to the alphabetical ordering in this Makefile!
+# Also indentation by a single tab
+
+FRAGMENTATIONHOMOLOGYTESTSSOURCES = \
+	../Fragmentation/Homology/unittests/HomologyContainerUnitTest.cpp
+
+FRAGMENTATIONHOMOLOGYTESTSHEADERS = \
+	../Fragmentation/Homology/unittests/HomologyContainerUnitTest.hpp
+
+FRAGMENTATIONHOMOLOGYTESTS = \
+  HomologyContainerUnitTest
+
+TESTS += $(FRAGMENTATIONHOMOLOGYTESTS)
+check_PROGRAMS += $(FRAGMENTATIONHOMOLOGYTESTS) 
+noinst_PROGRAMS += $(FRAGMENTATIONHOMOLOGYTESTS)
+
+FRAGMENTATIONHOMOLOGYLIBS = \
+	../libMolecuilderFragmentation.la \
+	../libMolecuilderHelpers.la \
+	${CodePatterns_LIBS} \
+	$(BOOST_LIB)
+
+
+HomologyContainerUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+	../Fragmentation/Homology/unittests/HomologyContainerUnitTest.cpp \
+	../Fragmentation/Homology/unittests/HomologyContainerUnitTest.hpp
+HomologyContainerUnitTest_LDADD = \
+	../libMolecuilderUI.la \
+	${CodePatterns_LIBS} \
+	$(BOOST_LIB)
+
+
+#AUTOMAKE_OPTIONS = parallel-tests
Index: src/Fragmentation/Makefile.am
===================================================================
--- src/Fragmentation/Makefile.am	(revision 3aa8a59c4b8e2d177c403ddd9d9ddb5524e3df0d)
+++ src/Fragmentation/Makefile.am	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -5,4 +5,5 @@
 	Fragmentation/Exporters/ExportGraph_ToFiles.cpp \
 	Fragmentation/Exporters/ExportGraph.cpp \
+	Fragmentation/Homology/HomologyContainer.cpp \
 	Fragmentation/AdaptivityMap.cpp \
 	Fragmentation/BondsPerShortestPath.cpp \
@@ -24,4 +25,5 @@
 	Fragmentation/Exporters/ExportGraph_ToFiles.hpp \
 	Fragmentation/Exporters/ExportGraph.hpp \
+	Fragmentation/Homology/HomologyContainer.hpp \
 	Fragmentation/AdaptivityMap.hpp \
 	Fragmentation/AtomMask.hpp \
Index: src/unittests/Makefile.am
===================================================================
--- src/unittests/Makefile.am	(revision 3aa8a59c4b8e2d177c403ddd9d9ddb5524e3df0d)
+++ src/unittests/Makefile.am	(revision 4694df82c685e4d9f1a22a75eb0c1355964be59f)
@@ -14,4 +14,5 @@
 include ../../src/Filling/unittests/Makefile.am
 include ../../src/Fragmentation/unittests/Makefile.am
+include ../../src/Fragmentation/Homology/unittests/Makefile.am
 include ../../src/Graph/unittests/Makefile.am
 
