Index: src/Potentials/Specifics/ConstantPotential.cpp
===================================================================
--- src/Potentials/Specifics/ConstantPotential.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/ConstantPotential.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -163,20 +163,4 @@
 }
 
-FunctionModel::extractor_t
-ConstantPotential::getSpecificExtractor() const
-{
-  Fragment::charges_t charges;
-  charges.resize(getParticleTypes().size());
-  std::transform(getParticleTypes().begin(), getParticleTypes().end(),
-      charges.begin(), boost::lambda::_1);
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherDistancesFromFragment,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          charges,
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t ConstantPotential::getSpecificFilter() const
 {
Index: src/Potentials/Specifics/ConstantPotential.hpp
===================================================================
--- src/Potentials/Specifics/ConstantPotential.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/ConstantPotential.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -169,11 +169,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/FourBodyPotential_Torsion.cpp
===================================================================
--- src/Potentials/Specifics/FourBodyPotential_Torsion.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/FourBodyPotential_Torsion.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -223,20 +223,4 @@
 }
 
-FunctionModel::extractor_t
-FourBodyPotential_Torsion::getSpecificExtractor() const
-{
-  Fragment::charges_t charges;
-  charges.resize(getParticleTypes().size());
-  std::transform(getParticleTypes().begin(), getParticleTypes().end(),
-      charges.begin(), boost::lambda::_1);
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherDistancesFromFragment,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          charges,
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t
 FourBodyPotential_Torsion::getSpecificFilter() const
Index: src/Potentials/Specifics/FourBodyPotential_Torsion.hpp
===================================================================
--- src/Potentials/Specifics/FourBodyPotential_Torsion.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/FourBodyPotential_Torsion.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -175,11 +175,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/ManyBodyPotential_Tersoff.cpp
===================================================================
--- src/Potentials/Specifics/ManyBodyPotential_Tersoff.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/ManyBodyPotential_Tersoff.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -691,15 +691,4 @@
 }
 
-FunctionModel::extractor_t
-ManyBodyPotential_Tersoff::getSpecificExtractor() const
-{
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherAllDistances,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t ManyBodyPotential_Tersoff::getSpecificFilter() const
 {
Index: src/Potentials/Specifics/ManyBodyPotential_Tersoff.hpp
===================================================================
--- src/Potentials/Specifics/ManyBodyPotential_Tersoff.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/ManyBodyPotential_Tersoff.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -194,11 +194,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/PairPotential_Harmonic.cpp
===================================================================
--- src/Potentials/Specifics/PairPotential_Harmonic.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/PairPotential_Harmonic.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -186,20 +186,4 @@
 }
 
-FunctionModel::extractor_t
-PairPotential_Harmonic::getSpecificExtractor() const
-{
-  Fragment::charges_t charges;
-  charges.resize(getParticleTypes().size());
-  std::transform(getParticleTypes().begin(), getParticleTypes().end(),
-      charges.begin(), boost::lambda::_1);
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherDistancesFromFragment,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          charges,
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t PairPotential_Harmonic::getSpecificFilter() const
 {
Index: src/Potentials/Specifics/PairPotential_Harmonic.hpp
===================================================================
--- src/Potentials/Specifics/PairPotential_Harmonic.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/PairPotential_Harmonic.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -154,11 +154,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/PairPotential_LennardJones.cpp
===================================================================
--- src/Potentials/Specifics/PairPotential_LennardJones.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/PairPotential_LennardJones.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -195,20 +195,4 @@
 }
 
-FunctionModel::extractor_t
-PairPotential_LennardJones::getSpecificExtractor() const
-{
-  Fragment::charges_t charges;
-  charges.resize(getParticleTypes().size());
-  std::transform(getParticleTypes().begin(), getParticleTypes().end(),
-      charges.begin(), boost::lambda::_1);
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherDistancesFromFragment,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          charges,
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t PairPotential_LennardJones::getSpecificFilter() const
 {
Index: src/Potentials/Specifics/PairPotential_LennardJones.hpp
===================================================================
--- src/Potentials/Specifics/PairPotential_LennardJones.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/PairPotential_LennardJones.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -171,11 +171,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/PairPotential_Morse.cpp
===================================================================
--- src/Potentials/Specifics/PairPotential_Morse.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/PairPotential_Morse.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -215,20 +215,4 @@
 }
 
-FunctionModel::extractor_t
-PairPotential_Morse::getSpecificExtractor() const
-{
-  Fragment::charges_t charges;
-  charges.resize(getParticleTypes().size());
-  std::transform(getParticleTypes().begin(), getParticleTypes().end(),
-      charges.begin(), boost::lambda::_1);
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherDistancesFromFragment,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          charges,
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t PairPotential_Morse::getSpecificFilter() const
 {
Index: src/Potentials/Specifics/PairPotential_Morse.hpp
===================================================================
--- src/Potentials/Specifics/PairPotential_Morse.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/PairPotential_Morse.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -171,11 +171,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/ThreeBodyPotential_Angle.cpp
===================================================================
--- src/Potentials/Specifics/ThreeBodyPotential_Angle.cpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/ThreeBodyPotential_Angle.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -210,20 +210,4 @@
 }
 
-FunctionModel::extractor_t
-ThreeBodyPotential_Angle::getSpecificExtractor() const
-{
-  Fragment::charges_t charges;
-  charges.resize(getParticleTypes().size());
-  std::transform(getParticleTypes().begin(), getParticleTypes().end(),
-      charges.begin(), boost::lambda::_1);
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Extractors::gatherDistancesFromFragment,
-          boost::bind(&Fragment::getPositions, _1),
-          boost::bind(&Fragment::getCharges, _1),
-          charges,
-          _2);
-  return returnfunction;
-}
-
 FunctionModel::filter_t ThreeBodyPotential_Angle::getSpecificFilter() const
 {
Index: src/Potentials/Specifics/ThreeBodyPotential_Angle.hpp
===================================================================
--- src/Potentials/Specifics/ThreeBodyPotential_Angle.hpp	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/ThreeBodyPotential_Angle.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -172,11 +172,4 @@
    * \return bound function extracting distances from a fragment
    */
-  FunctionModel::extractor_t getSpecificExtractor() const;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   FunctionModel::filter_t getSpecificFilter() const;
 
Index: src/Potentials/Specifics/unittests/Makefile.am
===================================================================
--- src/Potentials/Specifics/unittests/Makefile.am	(revision 0932c2cf081d696ef9cc91e7a5183c13064994e0)
+++ src/Potentials/Specifics/unittests/Makefile.am	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -38,8 +38,9 @@
 POTENTIALSSPECIFICSLIBS = \
 	../libMolecuilderPotentials.la \
-	../libMolecuilderFragmentationSetValues.la \
 	../libMolecuilderFragmentation.la \
 	../libMolecuilderFunctionApproximation.la \
 	../libMolecuilderRandomNumbers.la \
+	../libMolecuilderFragmentationSummation.la \
+	../libMolecuilderFragmentation_getFromKeysetStub.la \
 	$(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
 	${CodePatterns_LIBS} \
