Index: src/FunctionApproximation/FunctionModel.hpp
===================================================================
--- src/FunctionApproximation/FunctionModel.hpp	(revision f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ src/FunctionApproximation/FunctionModel.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -152,11 +152,4 @@
    * \return bound function extracting distances from a fragment
    */
-  virtual extractor_t getSpecificExtractor() const=0;
-
-  /** Returns a bound function to be used with TrainingData, extracting distances
-   * from a Fragment.
-   *
-   * \return bound function extracting distances from a fragment
-   */
   virtual filter_t getSpecificFilter() const=0;
 
Index: src/Potentials/CompoundPotential.cpp
===================================================================
--- src/Potentials/CompoundPotential.cpp	(revision f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ src/Potentials/CompoundPotential.cpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -457,33 +457,4 @@
 }
 
-FunctionModel::extractor_t CompoundPotential::getSpecificExtractor() const
-{
-  // create initial returnfunction
-  FunctionModel::extractor_t returnfunction =
-      boost::bind(&Helpers::returnEmptyArguments);
-
-  // every following fragments combines its arguments with the initial function
-  for (particletypes_per_model_t::const_iterator typesiter = particletypes_per_model.begin();
-      typesiter != particletypes_per_model.end(); ++typesiter) {
-    Fragment::charges_t charges;
-    {
-      charges.resize((*typesiter).size());
-      std::transform((*typesiter).begin(), (*typesiter).end(),
-          charges.begin(), boost::lambda::_1);
-    }
-
-    returnfunction =
-          boost::bind(&Extractors::concatenateArguments,
-              boost::bind(returnfunction, _1, _2),
-              boost::bind(&Extractors::gatherAllDistancesFromFragment,
-                  boost::bind(&Fragment::getPositions, _1),
-                  boost::bind(&Fragment::getCharges, _1),
-                  charges,  // no crefs here as are temporaries!
-                  _2)
-        );
-  }
-  return returnfunction;
-}
-
 FunctionModel::filter_t CompoundPotential::getSpecificFilter() const
 {
Index: src/Potentials/CompoundPotential.hpp
===================================================================
--- src/Potentials/CompoundPotential.hpp	(revision f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ src/Potentials/CompoundPotential.hpp	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -132,13 +132,4 @@
    * from a Fragment.
    *
-   * Here, we simply concatenate the arguments delivered by the extractors of each model.
-   *
-   * \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.
-   *
    * \note CompoundPotential has only default filter, as filter needs to be
    * model-specific.
Index: src/Potentials/Specifics/ConstantPotential.cpp
===================================================================
--- src/Potentials/Specifics/ConstantPotential.cpp	(revision f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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 f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ 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} \
Index: src/Potentials/unittests/Makefile.am
===================================================================
--- src/Potentials/unittests/Makefile.am	(revision f4496dfa7f4fdd324a537113b0d2419c2bc7496f)
+++ src/Potentials/unittests/Makefile.am	(revision 16227a32089e461901d97290d3e2fb626919cf26)
@@ -34,6 +34,6 @@
 	../libMolecuilderPotentials.la \
 	../libMolecuilderFragmentation.la \
+	../libMolecuilderFunctionApproximation.la \
 	../libMolecuilderFragmentationSummation.la \
-	../libMolecuilderFunctionApproximation.la \
 	../libMolecuilderFragmentation_getFromKeysetStub.la \
 	../libMolecuilderRandomNumbers.la \
