diff --git a/openfpm_data b/openfpm_data
index 2e36a553e379e6712b62abeffce479b005774c91..08dd51a9c1a9ecf4317d9f4d68f8d55ae81b70f3 160000
--- a/openfpm_data
+++ b/openfpm_data
@@ -1 +1 @@
-Subproject commit 2e36a553e379e6712b62abeffce479b005774c91
+Subproject commit 08dd51a9c1a9ecf4317d9f4d68f8d55ae81b70f3
diff --git a/openfpm_io b/openfpm_io
index 935c25aaa275530ef1dafb86b7a9074e649a1d1f..df3448039f9197b2df3d0415b218142b08e223fa 160000
--- a/openfpm_io
+++ b/openfpm_io
@@ -1 +1 @@
-Subproject commit 935c25aaa275530ef1dafb86b7a9074e649a1d1f
+Subproject commit df3448039f9197b2df3d0415b218142b08e223fa
diff --git a/openfpm_numerics b/openfpm_numerics
index 8940976df9020348e7c40b0c622bd1b0b9a23827..b4d8373acf148fcfb868fc3edff3eb2aed78c881 160000
--- a/openfpm_numerics
+++ b/openfpm_numerics
@@ -1 +1 @@
-Subproject commit 8940976df9020348e7c40b0c622bd1b0b9a23827
+Subproject commit b4d8373acf148fcfb868fc3edff3eb2aed78c881
diff --git a/src/SubdomainGraphNodes.hpp b/src/SubdomainGraphNodes.hpp
index 888eed979fd4c3b49941ea2f4c6c2664b16c3573..3538dd66c9f419c2c8a17574dc6fac5b4a43c21f 100644
--- a/src/SubdomainGraphNodes.hpp
+++ b/src/SubdomainGraphNodes.hpp
@@ -66,6 +66,25 @@ struct nm_v
 
 	//! total number of properties boost::fusion::vector
 	static const unsigned int max_prop = 8;
+    
+    //! default constructor
+    nm_v(){
+        
+    }
+    
+    template <unsigned int dim, typename Mem> inline nm_v(const encapc<dim,nm_v,Mem> & p)
+    {
+        boost::fusion::at_c<0>(data) = p.template get<0>();
+        boost::fusion::at_c<1>(data) = p.template get<1>();
+        boost::fusion::at_c<2>(data) = p.template get<2>();
+        boost::fusion::at_c<3>(data) = p.template get<3>();
+        boost::fusion::at_c<4>(data) = p.template get<4>();
+        boost::fusion::at_c<5>(data) = p.template get<5>();
+        boost::fusion::at_c<6>(data) = p.template get<6>();
+        boost::fusion::at_c<7>(data) = p.template get<7>();
+    }
+    
+    
 };
 
 const std::string nm_v::attributes::name[] = {"x","y","z","communication","computation","memory","id","sub_id"};
@@ -132,8 +151,22 @@ struct nm_part_v
 
 	//! total number of properties
 	static const unsigned int max_prop = 2;
+    
+    //! default constructor
+    nm_part_v(){
+        
+    }
+    
+    template <unsigned int dim, typename Mem> inline nm_part_v(const encapc<dim,nm_part_v,Mem> & p)
+    {
+        boost::fusion::at_c<0>(data) = p.template get<0>();
+        boost::fusion::at_c<1>(data) = p.template get<1>();
+    }
+    
 };
 
+
+
 const std::string nm_part_v::attributes::name[] = {"id","sub_id"};
 
 /*! \brief Reduced edge graph node
@@ -156,6 +189,14 @@ struct nm_part_e
 
 	//! total number of properties
 	static const unsigned int max_prop = 0;
+    
+    //! Attributes name
+    struct attributes
+    {
+        static const std::string name[];
+    };
 };
 
+const std::string nm_part_e::attributes::name[] = {"id"};
+
 #endif