Index: src/Jobs/InterfaceVMGJob.hpp
===================================================================
--- src/Jobs/InterfaceVMGJob.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ src/Jobs/InterfaceVMGJob.hpp	(revision 8e84fee2b39a56651444a15cdef1d2ed8bad8999)
@@ -20,5 +20,5 @@
 #include "units/particle/particle.hpp"
 
-#include "Jobs/VMGData.hpp"
+#include "Fragmentation/Containers/VMGData.hpp"
 #include "Fragmentation/SetValues/SamplingGrid.hpp"
 
Index: src/Jobs/MPQCCommandJob.hpp
===================================================================
--- src/Jobs/MPQCCommandJob.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ src/Jobs/MPQCCommandJob.hpp	(revision 8e84fee2b39a56651444a15cdef1d2ed8bad8999)
@@ -21,5 +21,5 @@
 #include "JobMarket/Jobs/SystemCommandJob.hpp"
 
-#include "Jobs/MPQCData.hpp"
+#include "Fragmentation/Containers/MPQCData.hpp"
 
 class MPQCCommandJobTest;
Index: src/Jobs/MPQCData.cpp
===================================================================
--- src/Jobs/MPQCData.cpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,108 +1,0 @@
-/*
- * 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/>.
- */
-
-/*
- * MPQCCommandJob_MPQCData.cpp
- *
- *  Created on: Feb 08, 2012
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "MPQCData.hpp"
-
-#include <iostream>
-#include <limits>
-
-#include "CodePatterns/Log.hpp"
-#include "LinearAlgebra/defs.hpp"
-
-MPQCData::MPQCData(const SamplingGridProperties &_props) :
-  DoLongrange(DontSampleDensity),
-  sampled_grid(_props)
-{}
-
-MPQCData::MPQCData() :
-  DoLongrange(DontSampleDensity)
-{}
-
-MPQCData::energy_t::energy_t() :
-  total(0.),
-  nuclear_repulsion(0.),
-  electron_coulomb(0.),
-  electron_exchange(0.),
-  correlation(0.),
-  overlap(0.),
-  kinetic(0.),
-  hcore(0.)
-{}
-
-MPQCData::times_t::times_t() :
-  total_walltime(0.),
-  total_cputime(0.),
-  total_flops(0.),
-  gather_walltime(0.),
-  gather_cputime(0.),
-  gather_flops(0.)
-{}
-
-/** Comparator for class MPQCData.
- *
- */
-bool MPQCData::operator==(const MPQCData &other) const
-{
-  if (fabs(energies.total - other.energies.total) > std::numeric_limits<double>::epsilon()) {
-    LOG(1, "INFO: Energy's in MPQCData differ: "
-        << energies.total << " != " << other.energies.total << ".");
-    return false;
-  }
-  if (forces.size() != other.forces.size()) {
-    LOG(1, "INFO: Forces's in MPQCData differ in size: "
-        << forces.size() << " != " << other.forces.size() << ".");
-    return false;
-  }
-  for (size_t i = 0; i < forces.size(); ++i)
-    for (size_t index = 0; index < NDIM; ++index)
-      if (fabs(forces[i][index] - other.forces[i][index]) > std::numeric_limits<double>::epsilon()) {
-        LOG(1, "INFO: " << index << "th component of force of particle "
-            << i << " in MPQCData differ: " << forces[i][index]
-            << " != " << other.forces[i][index] << ".");
-        return false;
-      }
-  return true;
-}
-
-std::ostream & operator<<(std::ostream &ost, const MPQCData &data)
-{
-  ost << "Energy: " << data.energies.total << "\t";
-  ost << "Forces: " << data.forces << "\t";
-  ost << "Times: " << data.times.total_walltime << ", "
-      << data.times.total_cputime << ", "
-      << data.times.total_flops;
-  return ost;
-}
Index: src/Jobs/MPQCData.hpp
===================================================================
--- src/Jobs/MPQCData.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,141 +1,0 @@
-/*
- * MPQCData.hpp
- *
- *  Created on: Feb 08, 2012
- *      Author: heber
- */
-
-#ifndef MPQCDATA_HPP_
-#define MPQCDATA_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/vector.hpp>
-
-#include <iosfwd>
-#include <vector>
-
-#include "Fragmentation/SetValues/SamplingGrid.hpp"
-
-class MPQCCommandJob;
-class MPQCCommandJobTest;
-class MPQCDataTest;
-
-/** Internal class that holds the data and can be serialized.
- *
- */
-class MPQCData {
-  //!> allow MPQCCommandJob access to member variables directly
-  friend class MPQCCommandJob;
-  //!> grant MPQCCommandJob's unit test access
-  friend class MPQCCommandJobTest;
-  //!> grant unit test access
-  friend class MPQCDataTest;
-  //!> grant access to output stream operator
-  friend std::ostream & operator<<(std::ostream &ost, const MPQCData &data);
-public:
-  /** Constructor for class MPQCData with full sampling information.
-   *
-   * \param _props properties of the grid
-   */
-  MPQCData(const SamplingGridProperties &_props);
-
-  /** Default Constructor for class MPQCData.
-   *
-   */
-  MPQCData();
-
-  bool operator==(const MPQCData &other) const;
-
-  bool operator!=(const MPQCData &other) const {
-    return !(*this == other);
-  }
-
-  /// Energie structure
-  struct energy_t {
-    /** Constructor for struct energy_t, sets all to zero.
-     *
-     */
-    energy_t();
-
-    double total;
-    double nuclear_repulsion;
-    double electron_coulomb;
-    double electron_exchange;
-    double correlation;
-    double overlap;
-    double kinetic;
-    double hcore;
-
-    std::vector<double> eigenvalues;
-  } energies;
-
-  /// Forces
-  typedef std::vector<double> vector_type;
-  std::vector< vector_type  > forces;
-
-  //!> whether to actually sample the density
-  enum DoLongrange_t {
-    DontSampleDensity=0,
-    DoSampleDensity=1
-  };
-  DoLongrange_t DoLongrange;
-
-  /// Density
-  SamplingGrid sampled_grid;
-
-  // nuclei positions and charges
-  std::vector< std::vector<double> > positions;
-  std::vector<double> charges;
-
-  /// Timing structure
-  struct times_t {
-    /** Constructor for struct times_t, sets all to zero.
-     *
-     */
-    times_t();
-
-    double total_walltime;
-    double total_cputime;
-    double total_flops;
-    double gather_walltime;
-    double gather_cputime;
-    double gather_flops;
-  } times;
-
-private:
-  friend class boost::serialization::access;
-  // serialization
-  template <typename Archive>
-  void serialize(Archive& ar, const unsigned int version)
-  {
-    ar & energies.total;
-    ar & energies.nuclear_repulsion;
-    ar & energies.electron_coulomb;
-    ar & energies.electron_exchange;
-    ar & energies.correlation;
-    ar & energies.overlap;
-    ar & energies.kinetic;
-    ar & energies.hcore;
-    ar & energies.eigenvalues;
-    ar & forces;
-    ar & sampled_grid;
-    ar & DoLongrange;
-    ar & positions;
-    ar & charges;
-    ar & times.total_walltime;
-    ar & times.total_cputime;
-    ar & times.total_flops;
-    ar & times.gather_walltime;
-    ar & times.gather_cputime;
-    ar & times.gather_flops;
-  }
-};
-
-std::ostream & operator<<(std::ostream &ost, const MPQCData &data);
-
-#endif /* MPQCDATA_HPP_ */
Index: src/Jobs/MPQCDataFused.hpp
===================================================================
--- src/Jobs/MPQCDataFused.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,55 +1,0 @@
-/*
- * MPQCDataFused.hpp
- *
- *  Created on: 28.07.2012
- *      Author: heber
- */
-
-#ifndef MPQCDATAFUSED_HPP_
-#define MPQCDATAFUSED_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-/** This namespace contains a key for each data member in MPQCData.
- *
- * We need these keys as enumeration of the data members to allow
- * generic algorithms to work on it.
- *
- * \note forward declarations are not enough as we need the true (but empty)
- * instance when going throughb the list with boost::mpl::for_each.
- */
-namespace MPQCDataFused {
-  // keys for energy_t
-  struct energy_total {};
-  struct energy_nuclear_repulsion {};
-  struct energy_electron_coulomb {};
-  struct energy_electron_exchange {};
-  struct energy_correlation {};
-  struct energy_overlap {};
-  struct energy_kinetic {};
-  struct energy_hcore {};
-  struct energy_eigenvalues {};
-
-  // keys for forces
-  struct forces {};
-
-  // keys for sampled_grid
-  struct sampled_grid {};
-
-  // keys for fragment
-  struct fragment {};
-
-  // keys for times_t
-  struct times_total_walltime {};
-  struct times_total_cputime {};
-  struct times_total_flops {};
-  struct times_gather_walltime {};
-  struct times_gather_cputime {};
-  struct times_gather_flops {};
-}
-
-
-#endif /* MPQCDATAFUSED_HPP_ */
Index: src/Jobs/MPQCDataMap.hpp
===================================================================
--- src/Jobs/MPQCDataMap.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,130 +1,0 @@
-/*
- * MPQCDataMap.hpp
- *
- *  Created on: 28.07.2012
- *      Author: heber
- */
-
-#ifndef MPQCDATAMAP_HPP_
-#define MPQCDATAMAP_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <boost/fusion/container/map.hpp>
-#include <boost/mpl/list.hpp>
-
-#include "Jobs/MPQCDataFused.hpp"
-
-class Fragment;
-class Histogram;
-class IndexedVectors;
-class SamplingGrid;
-
-/// \note: We had to split up the map because boost::fusion only allows for
-/// up to 9 template types.
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all energy_t data members in MPQCData and their type.
- *
- * This lets us resolves any ambiguitites of types in MPQCData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-    boost::fusion::pair<MPQCDataFused::energy_total, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_nuclear_repulsion, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_electron_coulomb, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_electron_exchange, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_correlation, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_overlap, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_kinetic, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_hcore, double>
-  ,  boost::fusion::pair<MPQCDataFused::energy_eigenvalues, Histogram >
-> MPQCDataEnergyMap_t;
-
-typedef boost::mpl::list<
-    MPQCDataFused::energy_total,
-    MPQCDataFused::energy_nuclear_repulsion,
-    MPQCDataFused::energy_electron_coulomb,
-    MPQCDataFused::energy_electron_exchange,
-    MPQCDataFused::energy_correlation,
-    MPQCDataFused::energy_overlap,
-    MPQCDataFused::energy_kinetic,
-    MPQCDataFused::energy_hcore,
-    MPQCDataFused::energy_eigenvalues
-> MPQCDataEnergyVector_t;
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all forces data members in MPQCData and their type.
- *
- * This lets us resolves any ambiguitites of types in MPQCData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-  boost::fusion::pair<MPQCDataFused::forces, IndexedVectors >
-> MPQCDataForceMap_t;
-
-typedef boost::mpl::list<
-    MPQCDataFused::forces
-> MPQCDataForceVector_t;
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all sampled_grid data members in MPQCData and their type.
- *
- * This lets us resolves any ambiguitites of types in MPQCData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-    boost::fusion::pair<MPQCDataFused::sampled_grid, SamplingGrid >
-> MPQCDataGridMap_t;
-
-typedef boost::mpl::list<
-    MPQCDataFused::sampled_grid
-> MPQCDataGridVector_t;
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all sampled_grid data members in MPQCData and their type.
- *
- * This lets us resolves any ambiguitites of types in MPQCData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-    boost::fusion::pair<MPQCDataFused::fragment, Fragment >
-> MPQCDataFragmentMap_t;
-
-typedef boost::mpl::list<
-    MPQCDataFused::fragment
-> MPQCDataFragmentVector_t;
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all times_t data members in MPQCData and their type.
- *
- * This lets us resolves any ambiguitites of types in MPQCData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-  boost::fusion::pair<MPQCDataFused::times_total_walltime, double >
-  , boost::fusion::pair<MPQCDataFused::times_total_cputime, double >
-  , boost::fusion::pair<MPQCDataFused::times_total_flops, double >
-  , boost::fusion::pair<MPQCDataFused::times_gather_walltime, double >
-  , boost::fusion::pair<MPQCDataFused::times_gather_cputime, double >
-  , boost::fusion::pair<MPQCDataFused::times_gather_flops, double >
-> MPQCDataTimeMap_t;
-
-typedef boost::mpl::list<
-    MPQCDataFused::times_total_walltime,
-    MPQCDataFused::times_total_cputime,
-    MPQCDataFused::times_total_flops,
-    MPQCDataFused::times_gather_walltime,
-    MPQCDataFused::times_gather_cputime,
-    MPQCDataFused::times_gather_flops
-> MPQCDataTimeVector_t;
-
-#endif /* MPQCDATAMAP_HPP_ */
Index: src/Jobs/MPQCData_printKeyNames.hpp
===================================================================
--- src/Jobs/MPQCData_printKeyNames.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,85 +1,0 @@
-/*
- * MPQCData_printKeyNames.hpp
- *
- *  Created on: 28.07.2012
- *      Author: heber
- */
-
-#ifndef MPQCDATA_PRINTKEYNAMES_HPP_
-#define MPQCDATA_PRINTKEYNAMES_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-//#include <iosfwd>
-#include <string>
-
-#include "Fragmentation/Summation/printKeyNames.hpp"
-
-#include <boost/preprocessor/iteration/local.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-/** this is the boost::preprocessor::sequence of the keys in the boost::fusion::map
- *
- * Basically, every key appears here in brackets. If so, then the preprocessor magic
- * below will create a template specialization of the printName() function in the
- * namespace printKeyNames.
- */
-#define tokensequence \
-  (energy_total) \
-	(energy_nuclear_repulsion) \
-	(energy_electron_coulomb) \
-  (energy_electron_exchange) \
-	(energy_correlation) \
-	(energy_overlap) \
-	(energy_kinetic) \
-	(energy_hcore) \
-	(energy_eigenvalues) \
-	(forces) \
-	(sampled_grid) \
-	(times_total_walltime) \
-	(times_total_cputime) \
-	(times_total_flops) \
-  (times_gather_walltime) \
-  (times_gather_cputime) \
-  (times_gather_flops)
-
-/// we take note of the number of keys in tokensequence as (local) loop bounds below
-#ifndef tokensequence
-#define MAXTOKENS 0
-#else
-#define MAXTOKENS BOOST_PP_SEQ_SIZE(tokensequence)
-#endif
-
-//!> this is the macro function which prints the specialized template function
-#define printName_specializer(z, n, NAMESPACE, TOKENSEQ, NAMESEQ ) \
-  template<> inline std::string printName< NAMESPACE :: BOOST_PP_SEQ_ELEM( n, TOKENSEQ ) >() { \
-    return std::string( BOOST_PP_STRINGIZE( BOOST_PP_SEQ_ELEM( n, NAMESEQ ) ) ); \
-  }
-
-/** Specific namespace for all the specialized template functions that print
- * a useful name for each of the boost::fusion::map key.
- */
-namespace printKeyNames {
-  /* iterate (line-wise) over the sequence and spill out a specialized printName
-   * for each member in the boost::fusion::map.
-   */
-#if defined tokensequence && defined MAXTOKENS && defined printName_specializer
-#define BOOST_PP_LOCAL_MACRO(n) printName_specializer(~, n, MPQCDataFused, tokensequence, tokensequence)
-#define BOOST_PP_LOCAL_LIMITS  (0, MAXTOKENS-1)
-#include BOOST_PP_LOCAL_ITERATE()
-#endif
-
-}; /* namespace printKeyNames */
-
-#undef tokensequence
-#undef printName_specializer
-
-#undef MAXTOKENS
-
-#endif /* MPQCDATA_PRINTKEYNAMES_HPP_ */
Index: src/Jobs/MPQCJob.hpp
===================================================================
--- src/Jobs/MPQCJob.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ src/Jobs/MPQCJob.hpp	(revision 8e84fee2b39a56651444a15cdef1d2ed8bad8999)
@@ -20,5 +20,5 @@
 
 #include "Fragmentation/SetValues/SamplingGridProperties.hpp"
-#include "Jobs/MPQCData.hpp"
+#include "Fragmentation/Containers/MPQCData.hpp"
 
 #include <string>
Index: src/Jobs/Makefile.am
===================================================================
--- src/Jobs/Makefile.am	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ src/Jobs/Makefile.am	(revision 8e84fee2b39a56651444a15cdef1d2ed8bad8999)
@@ -4,5 +4,4 @@
 JOBSSOURCE = \
 	Jobs/MPQCCommandJob.cpp \
-	Jobs/MPQCData.cpp \
 	Jobs/MPQCJob.cpp
 if CONDVMG
@@ -10,5 +9,4 @@
 	Jobs/InterfaceVMGDebugGridJob.cpp \
 	Jobs/InterfaceVMGJob.cpp \
-	Jobs/VMGData.cpp \
 	Jobs/VMGDebugGridJob.cpp \
 	Jobs/VMGJob.cpp \
@@ -19,8 +17,4 @@
 	Jobs/MPQCCommandJob.hpp \
 	Jobs/MPQCCommandJob_binding.hpp \
-	Jobs/MPQCData.hpp \
-	Jobs/MPQCDataFused.hpp \
-	Jobs/MPQCDataMap.hpp \
-	Jobs/MPQCData_printKeyNames.hpp \
 	Jobs/MPQCJob.hpp \
 	Jobs/MPQCJob_binding.hpp
@@ -29,8 +23,4 @@
 	Jobs/InterfaceVMGDebugGridJob.hpp \
 	Jobs/InterfaceVMGJob.hpp \
-	Jobs/VMGData.hpp \
-	Jobs/VMGDataFused.hpp \
-	Jobs/VMGDataMap.hpp \
-	Jobs/VMGData_printKeyNames.hpp \
 	Jobs/VMGDebugGridJob.hpp \
 	Jobs/VMGDebugGridJob_binding.hpp \
Index: src/Jobs/VMGData.cpp
===================================================================
--- src/Jobs/VMGData.cpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,54 +1,0 @@
-/*
- * 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/>.
- */
-
-/*
- * VMGData.cpp
- *
- *  Created on: Aug 6, 2012
- *      Author: heber
- */
-
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "VMGData.hpp"
-
-#include <iostream>
-
-VMGData::VMGData(const SamplingGridProperties &_props) :
-  sampled_potential(_props),
-  e_long(0.)
-{}
-
-VMGData::VMGData()
-{}
-
-std::ostream & operator<<(std::ostream &ost, const VMGData &data)
-{
-  ost << "Long-Range energy: " << data.e_long << std::endl;
-  return ost;
-}
Index: src/Jobs/VMGData.hpp
===================================================================
--- src/Jobs/VMGData.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,61 +1,0 @@
-/*
- * VMGData.hpp
- *
- *  Created on: Aug 6, 2012
- *      Author: heber
- */
-
-#ifndef VMGDATA_HPP_
-#define VMGDATA_HPP_
-
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/vector.hpp>
-
-#include <iosfwd>
-#include <vector>
-
-#include "Fragmentation/SetValues/SamplingGrid.hpp"
-
-/** This struct contains all returned data from an VMGJob
- *
- */
-struct VMGData
-{
-  /** Constructor for class VMGData.
-   *
-   * \param _props properties of sampled potential
-   */
-  VMGData(const SamplingGridProperties &_props);
-
-  /** Default constructor for class VMGData.
-   *
-   */
-  VMGData();
-
-  //!> sampled potential on the grid as output
-  SamplingGrid sampled_potential;
-  //!> long-range contribution to energy
-  double e_long;
-
-private:
-  friend class boost::serialization::access;
-  // serialization
-  template <typename Archive>
-  void serialize(Archive& ar, const unsigned int version)
-  {
-    ar & sampled_potential;
-    ar & e_long;
-  }
-};
-
-std::ostream & operator<<(std::ostream &ost, const VMGData &data);
-
-
-#endif /* VMGDATA_HPP_ */
Index: src/Jobs/VMGDataFused.hpp
===================================================================
--- src/Jobs/VMGDataFused.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,43 +1,0 @@
-/*
- * VMGDataFused.hpp
- *
- *  Created on: Aug 8, 2012
- *      Author: heber
- */
-
-#ifndef VMGDATAFUSED_HPP_
-#define VMGDATAFUSED_HPP_
-
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-/** This namespace contains a key for each data member in MPQCData.
- *
- * We need these keys as enumeration of the data members to allow
- * generic algorithms to work on it.
- *
- * \note forward declarations are not enough as we need the true (but empty)
- * instance when going throughb the list with boost::mpl::for_each.
- */
-namespace VMGDataFused {
-  // keys for sampled_potential
-  struct sampled_potential {};
-  struct energy_potential {};
-  struct energy_long {};
-
-  // keys for longrange
-
-  struct electron_longrange {};
-  struct electron_shortrange {};
-  struct nuclei_longrange {};
-  struct nuclei_shortrange {};
-  struct total_longrange {};
-  struct total_shortrange {};
-}
-
-
-
-#endif /* VMGDATAFUSED_HPP_ */
Index: src/Jobs/VMGDataMap.hpp
===================================================================
--- src/Jobs/VMGDataMap.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,69 +1,0 @@
-/*
- * VMGDataMap.hpp
- *
- *  Created on: Aug 8, 2012
- *      Author: heber
- */
-
-#ifndef VMGDATAMAP_HPP_
-#define VMGDATAMAP_HPP_
-
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <boost/fusion/container/map.hpp>
-#include <boost/mpl/list.hpp>
-
-#include "Jobs/VMGDataFused.hpp"
-
-class SamplingGrid;
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all sampled_grid data members in VMGData and their type.
- *
- * This lets us resolves any ambiguitites of types in VMGData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-    boost::fusion::pair<VMGDataFused::sampled_potential, SamplingGrid >,
-    boost::fusion::pair<VMGDataFused::energy_potential, double >,
-    boost::fusion::pair<VMGDataFused::energy_long, double >
-> VMGDataMap_t;
-
-typedef boost::mpl::list<
-    VMGDataFused::sampled_potential,
-    VMGDataFused::energy_potential,
-    VMGDataFused::energy_long
-> VMGDataVector_t;
-
-/** This boost::fusion map defines key-value or rather key-type pairs with
- * which we associate all sampled_grid data members in VMGData and their type.
- *
- * This lets us resolves any ambiguitites of types in VMGData, e.g.
- * to know vector<double> is forces or energy_eigenvalues.
- *
- */
-typedef boost::fusion::map<
-    boost::fusion::pair<VMGDataFused::electron_longrange, double >,
-    boost::fusion::pair<VMGDataFused::electron_shortrange, double >,
-    boost::fusion::pair<VMGDataFused::nuclei_longrange, double >,
-    boost::fusion::pair<VMGDataFused::nuclei_shortrange, double >,
-    boost::fusion::pair<VMGDataFused::total_longrange, double >,
-    boost::fusion::pair<VMGDataFused::total_shortrange, double >
-> VMGDataLongRangeMap_t;
-
-typedef boost::mpl::list<
-    VMGDataFused::electron_longrange,
-    VMGDataFused::electron_shortrange,
-    VMGDataFused::nuclei_longrange,
-    VMGDataFused::nuclei_shortrange,
-    VMGDataFused::total_longrange,
-    VMGDataFused::total_shortrange
-> VMGDataLongRangeVector_t;
-
-
-#endif /* VMGDATAMAP_HPP_ */
Index: src/Jobs/VMGData_printKeyNames.hpp
===================================================================
--- src/Jobs/VMGData_printKeyNames.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,77 +1,0 @@
-/*
- * VMGData_printKeyNames.hpp
- *
- *  Created on: 08.08.2012
- *      Author: heber
- */
-
-#ifndef VMGDATA_PRINTKEYNAMES_HPP_
-#define VMGDATA_PRINTKEYNAMES_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-//#include <iosfwd>
-#include <string>
-
-#include "Fragmentation/Summation/printKeyNames.hpp"
-
-#include <boost/preprocessor/iteration/local.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-/** this is the boost::preprocessor::sequence of the keys in the boost::fusion::map
- *
- * Basically, every key appears here in brackets. If so, then the preprocessor magic
- * below will create a template specialization of the printName() function in the
- * namespace printKeyNames.
- */
-#define tokensequence \
-	(sampled_potential) \
-  (energy_potential) \
-  (energy_long) \
-  (electron_longrange) \
-  (electron_shortrange) \
-  (nuclei_longrange) \
-  (nuclei_shortrange) \
-  (total_longrange) \
-  (total_shortrange)
-
-/// we take note of the number of keys in tokensequence as (local) loop bounds below
-#ifndef tokensequence
-#define MAXTOKENS 0
-#else
-#define MAXTOKENS BOOST_PP_SEQ_SIZE(tokensequence)
-#endif
-
-//!> this is the macro function which prints the specialized template function
-#define printName_specializer(z, n, NAMESPACE, TOKENSEQ, NAMESEQ ) \
-  template<> inline std::string printName< NAMESPACE :: BOOST_PP_SEQ_ELEM( n, TOKENSEQ ) >() { \
-    return std::string( BOOST_PP_STRINGIZE( BOOST_PP_SEQ_ELEM( n, NAMESEQ ) ) ); \
-  }
-
-/** Specific namespace for all the specialized template functions that print
- * a useful name for each of the boost::fusion::map key.
- */
-namespace printKeyNames {
-  /* iterate (line-wise) over the sequence and spill out a specialized printName
-   * for each member in the boost::fusion::map.
-   */
-#if defined tokensequence && defined MAXTOKENS && defined printName_specializer
-#define BOOST_PP_LOCAL_MACRO(n) printName_specializer(~, n, VMGDataFused, tokensequence, tokensequence)
-#define BOOST_PP_LOCAL_LIMITS  (0, MAXTOKENS-1)
-#include BOOST_PP_LOCAL_ITERATE()
-#endif
-
-}; /* namespace printKeyNames */
-
-#undef tokensequence
-#undef printName_specializer
-
-#undef MAXTOKENS
-
-#endif /* VMGDATA_PRINTKEYNAMES_HPP_ */
Index: src/Jobs/VMGJob.hpp
===================================================================
--- src/Jobs/VMGJob.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ src/Jobs/VMGJob.hpp	(revision 8e84fee2b39a56651444a15cdef1d2ed8bad8999)
@@ -20,5 +20,5 @@
 #include "JobMarket/Jobs/FragmentJob.hpp"
 #include "Fragmentation/SetValues/SamplingGrid.hpp"
-#include "Jobs/VMGData.hpp"
+#include "Fragmentation/Containers/VMGData.hpp"
 
 #include <vector>
Index: src/Jobs/unittests/MPQCDataUnitTest.cpp
===================================================================
--- src/Jobs/unittests/MPQCDataUnitTest.cpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,155 +1,0 @@
-/*
- * 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/>.
- */
-
-/*
- * MPQCDataUnitTest.cpp
- *
- *  Created on: Feb 09, 2012
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#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 <limits>
-#include <vector>
-
-#include "MPQCDataUnitTest.hpp"
-
-#include "Jobs/MPQCData.hpp"
-
-#include "CodePatterns/Assert.hpp"
-
-#ifdef HAVE_TESTRUNNER
-#include "UnitTestMain.hpp"
-#endif /*HAVE_TESTRUNNER*/
-
-/********************************************** Test classes **************************************/
-
-// Registers the fixture into the 'registry'
-CPPUNIT_TEST_SUITE_REGISTRATION( MPQCDataTest );
-
-
-void MPQCDataTest::setUp()
-{
-  // Throw assertions
-  ASSERT_DO(Assert::Throw);
-
-  data = new MPQCData;
-
-  data->energies.total = -37.3479855;
-  std::vector<double> force;
-  std::vector< std::vector<double> > forces;
-  force.push_back(-2.35);
-  force.push_back(-0.54);
-  force.push_back(0.345);
-  data->forces.push_back(force);
-  force.clear();
-  force.push_back(-2.35);
-  force.push_back(-0.54);
-  force.push_back(0.345);
-  data->forces.push_back( force );
-
-  CPPUNIT_ASSERT_EQUAL( (size_t)2, data->forces.size() );
-}
-
-
-void MPQCDataTest::tearDown()
-{
-  delete data;
-}
-
-/** UnitTest for operator==()
- */
-void MPQCDataTest::operatorTest()
-{
-  MPQCData otherData;
-
-  // ascertain unequality
-  CPPUNIT_ASSERT( !(*data == otherData) );
-  CPPUNIT_ASSERT( *data != otherData );
-
-  // construct closer and closer pendant
-  otherData.energies.total = -37.3479855;
-  CPPUNIT_ASSERT( *data != otherData );
-  std::vector<double> force;
-  std::vector< std::vector<double> > forces;
-  force.push_back(-2.35);
-  force.push_back(-0.54);
-  force.push_back(0.345);
-  otherData.forces.push_back(force);
-  CPPUNIT_ASSERT( *data != otherData );
-  force.clear();
-  force.push_back(-2.35);
-  force.push_back(-0.54);
-  force.push_back(0.345);
-  otherData.forces.push_back( force );
-  CPPUNIT_ASSERT( *data == otherData );
-
-  // change energy
-  otherData.energies.total = -4;
-  CPPUNIT_ASSERT( *data != otherData );
-  otherData.energies.total = -37.3479855;
-  CPPUNIT_ASSERT( *data == otherData );
-
-  // change force component
-  otherData.forces[0][2] = -4;
-  CPPUNIT_ASSERT( *data != otherData );
-  otherData.forces[0][2] = 0.345;
-  CPPUNIT_ASSERT( *data == otherData );
-
-  // check sensibility
-  otherData.energies.total -= 1e-1*std::numeric_limits<double>::epsilon();
-  CPPUNIT_ASSERT( *data == otherData );
-  otherData.forces[1][0] -= 1e-1*std::numeric_limits<double>::epsilon();
-  CPPUNIT_ASSERT( *data == otherData );
-}
-
-/** UnitTest for serialization
- */
-void MPQCDataTest::serializationTest()
-{
-  // serialize
-  std::stringstream outputstream;
-  boost::archive::text_oarchive oa(outputstream);
-  oa << data;
-
-  // deserialize
-  MPQCData *extractedData;
-  std::stringstream returnstream(outputstream.str());
-  boost::archive::text_iarchive ia(returnstream);
-  ia >> extractedData;
-
-  CPPUNIT_ASSERT( *data == *extractedData );
-
-  delete extractedData;
-}
Index: src/Jobs/unittests/MPQCDataUnitTest.hpp
===================================================================
--- src/Jobs/unittests/MPQCDataUnitTest.hpp	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*
- * MPQCDataUnitTest.hpp
- *
- *  Created on: Feb 9, 2012
- *      Author: heber
- */
-
-#ifndef MPQCDATAUNITTEST_HPP_
-#define MPQCDATAUNITTEST_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <string>
-
-#include <cppunit/extensions/HelperMacros.h>
-
-class MPQCData;
-
-
-/********************************************** Test classes **************************************/
-
-class MPQCDataTest : public CppUnit::TestFixture
-{
-    CPPUNIT_TEST_SUITE( MPQCDataTest) ;
-    CPPUNIT_TEST ( operatorTest );
-    CPPUNIT_TEST ( serializationTest );
-    CPPUNIT_TEST_SUITE_END();
-
-public:
-      void setUp();
-      void tearDown();
-      void operatorTest();
-      void serializationTest();
-
-private:
-      MPQCData *data;
-};
-
-#endif /* MPQCDATAUNITTEST_HPP_ */
Index: src/Jobs/unittests/Makefile.am
===================================================================
--- src/Jobs/unittests/Makefile.am	(revision 41040547d7cca2be6d6456c7796d5460aa47b92e)
+++ src/Jobs/unittests/Makefile.am	(revision 8e84fee2b39a56651444a15cdef1d2ed8bad8999)
@@ -3,14 +3,11 @@
 
 JOBSTESTSSOURCES = \
-  ../Jobs/unittests/MPQCCommandJobUnitTest.cpp \
-  ../Jobs/unittests/MPQCDataUnitTest.cpp
+  ../Jobs/unittests/MPQCCommandJobUnitTest.cpp
   
 JOBSTESTSHEADERS = \
-  ../Jobs/unittests/MPQCCommandJobUnitTest.hpp \
-  ../Jobs/unittests/MPQCDataUnitTest.hpp
+  ../Jobs/unittests/MPQCCommandJobUnitTest.hpp
 
 JOBSTESTS = \
-  MPQCCommandJobUnitTest \
-  MPQCDataUnitTest
+  MPQCCommandJobUnitTest
 
 
@@ -20,9 +17,11 @@
 
 JOBSLIBS = \
-  ../libMolecuilderJobs.la \
-  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
-  $(BOOST_THREAD_LDFLAGS) $(BOOST_THREAD_LIBS) \
-  $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
-  ${CodePatterns_LIBS}
+	../libMolecuilderJobs.la \
+	../libMolecuilderFragmentationContainers.la \
+	$(JobMarket_LIBS) \
+	$(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
+	$(BOOST_THREAD_LDFLAGS) $(BOOST_THREAD_LIBS) \
+	$(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
+	${CodePatterns_LIBS}
 
 MPQCCommandJobUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
@@ -31,21 +30,5 @@
   ../Jobs/unittests/MPQCCommandJobUnitTest.cpp \
   ../Jobs/unittests/MPQCCommandJobUnitTest.hpp
-MPQCCommandJobUnitTest_LDADD = \
-  ../libMolecuilderJobs.la \
-	$(JobMarket_LIBS) \
-  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
-  $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
-  ${CodePatterns_LIBS}
-
-MPQCDataUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
-MPQCDataUnitTest_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
-MPQCDataUnitTest_SOURCES = $(top_srcdir)/src/unittests/UnitTestMain.cpp \
-  ../Jobs/unittests/MPQCDataUnitTest.cpp \
-  ../Jobs/unittests/MPQCDataUnitTest.hpp
-MPQCDataUnitTest_LDADD = \
-  ../libMolecuilderJobs.la \
-  $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
-  $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
-  ${CodePatterns_LIBS}
+MPQCCommandJobUnitTest_LDADD = ${JOBSLIBS}
 
 #AUTOMAKE_OPTIONS = parallel-test
