diff --git a/ndnboost/function_types/detail/synthesize.hpp b/ndnboost/function_types/detail/synthesize.hpp
new file mode 100644
index 0000000..87865ca
--- /dev/null
+++ b/ndnboost/function_types/detail/synthesize.hpp
@@ -0,0 +1,79 @@
+
+// (C) Copyright Tobias Schwinger
+//
+// Use modification and distribution are subject to the boost Software License,
+// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
+
+//------------------------------------------------------------------------------
+
+#ifndef BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
+#define BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED
+
+#include <cstddef>
+
+#include <ndnboost/mpl/at.hpp>
+#include <ndnboost/mpl/size.hpp>
+
+#include <ndnboost/function_types/config/config.hpp>
+#include <ndnboost/function_types/property_tags.hpp>
+#include <ndnboost/function_types/detail/cv_traits.hpp>
+#include <ndnboost/function_types/detail/retag_default_cc.hpp>
+
+namespace ndnboost { namespace function_types { namespace detail {
+
+template<bits_t Flags, bits_t CCID, std::size_t Size>
+struct synthesize_impl_o
+{
+  template<typename Seq> struct synthesize_impl_i { };
+};
+
+template<typename Seq, bits_t Bits>
+struct synthesize_impl
+  : detail::synthesize_impl_o
+    < ::ndnboost::function_types::detail::decode_bits<Bits>::flags
+    , ::ndnboost::function_types::detail::decode_bits<Bits>::cc_id
+    , ::ndnboost::mpl::size<Seq>::value
+    >
+    ::template synthesize_impl_i<Seq>
+{ };
+
+template<typename Seq, typename Tag>
+struct synthesize_func
+  : detail::synthesize_impl
+    < Seq
+    , ::ndnboost::function_types::detail::bits
+      < detail::retag_default_cc
+        < function_types::tag<nv_dcc_func, Tag> > 
+      >::value 
+    >
+{ };
+
+template<typename Seq, typename Tag>
+struct synthesize_mfp
+  : detail::synthesize_impl
+    < Seq 
+    , ::ndnboost::function_types::detail::bits
+      < detail::retag_default_cc
+        < function_types::tag
+          < typename detail::cv_traits< typename mpl::at_c<Seq,1>::type >::tag
+          , nv_dcc_mfp, Tag
+        > >
+      >::value
+    >
+{ };
+
+template<typename S, typename R = typename mpl::at_c<S,0>::type,
+    typename C = typename mpl::at_c<S,1>::type>
+struct synthesize_mop
+{
+  typedef R C::* type;
+};
+
+#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_member_pointer
+#define BOOST_FT_al_path boost/function_types/detail/synthesize_impl
+#include <ndnboost/function_types/detail/pp_loop.hpp>
+
+} } } // namespace ::ndnboost::function_types::detail
+
+#endif
+
