Index: src/Actions/FragmentationAction/FragmentationAction.cpp
===================================================================
--- src/Actions/FragmentationAction/FragmentationAction.cpp	(revision 0331ee67517aeb31a2ec94499de1284c95285f83)
+++ src/Actions/FragmentationAction/FragmentationAction.cpp	(revision 13c5c1add745c03a4de0dc870f83c26b026fb705)
@@ -47,4 +47,5 @@
 #include "Fragmentation/Graph.hpp"
 #include "Fragmentation/HydrogenSaturation_enum.hpp"
+#include "Fragmentation/Interfragmenter.hpp"
 #include "Graph/AdjacencyList.hpp"
 #include "Graph/BondGraph.hpp"
@@ -76,6 +77,5 @@
 
   // inform about used parameters
-  LOG(0, "STATUS: Fragmenting molecular system with current connection matrix maximum bond distance "
-      << params.distance.get() << " up to "
+  LOG(0, "STATUS: Fragmenting molecular system with current connection matrix up to "
       << params.order.get() << " order. ");
   if (params.types.get().size() != 0)
@@ -176,4 +176,15 @@
   }
   LOG(0, "STATUS: There are " << TotalGraph.size() << " fragments.");
+
+  // now add interfragments
+  if (params.InterOrder.get() != 0) {
+    LOG(0, "STATUS: Putting fragments together up to order "
+        << params.InterOrder.get() << " and distance of "
+        << params.distance.get() << ".");
+    Interfragmenter fragmenter(TotalGraph);
+    const enum HydrogenTreatment treatment =  params.HowtoTreatHydrogen.get() ? ExcludeHydrogen : IncludeHydrogen;
+    fragmenter(params.InterOrder.get(), params.distance.get(), treatment);
+    LOG(0, "STATUS: There are now " << TotalGraph.size() << " fragments after interfragmenting.");
+  }
 
   // store keysets to file
Index: src/Actions/FragmentationAction/FragmentationAction.def
===================================================================
--- src/Actions/FragmentationAction/FragmentationAction.def	(revision 0331ee67517aeb31a2ec94499de1284c95285f83)
+++ src/Actions/FragmentationAction/FragmentationAction.def	(revision 13c5c1add745c03a4de0dc870f83c26b026fb705)
@@ -21,9 +21,9 @@
 // ValueStorage by the token "Z" -> first column: int, Z, "Z"
 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
-#define paramtypes (std::string)(double)(unsigned int)(bool)(bool)(std::vector<std::string>)(unsigned int)
-#define paramtokens ("fragment-molecule")("distance")("order")("DoSaturate")("ExcludeHydrogen")("output-types")("grid-level")
-#define paramdescriptions ("prefix of each fragment file")("distance in space")("order of a discretization, dissection, ...")("do saturate dangling bonds with hydrogen")("whether to exclude hydrogen in the bond graph dissection or not")("type(s) of parsers that output fragment config files")("resolution of density sampling multigrid")
-#define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT(true))(PARAM_DEFAULT(true))(NOPARAM_DEFAULT)(PARAM_DEFAULT(5))
-#define paramreferences (prefix)(distance)(order)(DoSaturation)(HowtoTreatHydrogen)(types)(level)
+#define paramtypes (std::string)(double)(unsigned int)(bool)(bool)(std::vector<std::string>)(unsigned int)(unsigned int)
+#define paramtokens ("fragment-molecule")("distance")("order")("DoSaturate")("ExcludeHydrogen")("output-types")("grid-level")("inter-order")
+#define paramdescriptions ("prefix of each fragment file")("distance in space up to which fragments are combined")("order of a discretization, dissection, ...")("do saturate dangling bonds with hydrogen")("whether to exclude hydrogen in the bond graph dissection or not")("type(s) of parsers that output fragment config files")("resolution of density sampling multigrid")("up to which order distinct fragments are combined")
+#define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT(true))(PARAM_DEFAULT(true))(NOPARAM_DEFAULT)(PARAM_DEFAULT(5))(PARAM_DEFAULT(0))
+#define paramreferences (prefix)(distance)(order)(DoSaturation)(HowtoTreatHydrogen)(types)(level)(InterOrder)
 #define paramvalids \
 (DummyValidator< std::string >()) \
@@ -33,5 +33,6 @@
 (DummyValidator< bool >()) \
 (STLVectorValidator< std::vector<std::string> >(0, 10, ParserTypeValidator())) \
-(RangeValidator< unsigned int >(1, 10))
+(RangeValidator< unsigned int >(1, 10)) \
+(DummyValidator< unsigned int >()) \
 
 #undef statetypes
Index: tests/Python/AllActions/options.dat
===================================================================
--- tests/Python/AllActions/options.dat	(revision 0331ee67517aeb31a2ec94499de1284c95285f83)
+++ tests/Python/AllActions/options.dat	(revision 13c5c1add745c03a4de0dc870f83c26b026fb705)
@@ -85,4 +85,5 @@
 id-mapping	"1"
 input	"test.data"
+inter-order	"2"
 interpolation-degree	"5"
 interpolation-steps	"9"
