diff --git a/attributes/maestro-core.yaml b/attributes/maestro-core.yaml
index 3b594fbbbf49f373d4bd8704989a460714d02089..541c329c3e623419a97651ead50ca9d64dd3cb6a 100644
--- a/attributes/maestro-core.yaml
+++ b/attributes/maestro-core.yaml
@@ -150,6 +150,15 @@ maestro-attributes:
 =======
 >>>>>>> 5b1f05e (add distlayout attributes to maestro-core schema)
 
+#FIXME only support now irregular_1D dist layout
+  - key: "cdo.dist-layout"
+    type: mmblayout()
+    required: False
+    default: NIL
+    documentation: The CDO data distribution among various
+                   maestro compoenets.
+
+
   ## Lifetime related
   # - key: "cdo.lifetime"
   #   type: lifetime-interval
diff --git a/include/maestro/i_attributes.h b/include/maestro/i_attributes.h
index 26bfe1db1d5114adb6d408b227f4508fcf0efff4..830205415010526dadb3688f083d5dbeec1c4a4b 100644
--- a/include/maestro/i_attributes.h
+++ b/include/maestro/i_attributes.h
@@ -169,20 +169,6 @@ mstro_status
 mstro_cdo_attribute_set_isdistributed(mstro_cdo cdo, const char* key);
 
 
-/* Automaticallly set cdo.isdistributed attributed if the user set any of the
-   distributed layout attributes */
-static inline
-mstro_status
-mstro_cdo_attribute_set_isdistributed(mstro_cdo cdo, const char* key);
-
-
-/* Automaticallly set cdo.isdistributed attributed if the user set any of the
-   distributed layout attributes */
-static inline
-mstro_status
-mstro_cdo_attribute_set_isdistributed(mstro_cdo cdo, const char* key);
-
-
 /**@} (end of group MSTRO_I_Attributes) */
 /**@} (end of addtogroup MSTRO_Internal) */
 
diff --git a/maestro/attributes.c b/maestro/attributes.c
index 5e27ce84b6dc0002fc8abb519eb7a00ba12d6f68..2073841155f315cda92ffc402fdef6463c608c46 100644
--- a/maestro/attributes.c
+++ b/maestro/attributes.c
@@ -92,6 +92,9 @@ const char *MSTRO_ATTR_CORE_CDO_ISDISTRIBUTED =
 const char *MSTRO_ATTR_CORE_CDO_DIST_LAYOUT =
       ".maestro.core.cdo.dist-layout";
 
+const char *MSTRO_ATTR_CORE_CDO_DIST_LAYOUT =
+      ".maestro.core.cdo.dist-layout";
+
 /* .... */
 
 
@@ -400,6 +403,7 @@ mstro_parse_mmbLayout_irregular_1D(char *str, mmbLayout **dist_layout) {
 mstro_status
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 mstro_mmbLayout_parse(const char *str, mmbLayout **dist_layout)
 {
   DEBUG("parsing %s, with length %d \n", str, strlen(str));
@@ -413,6 +417,11 @@ mstro_mmbLayout_parse(const char *str, mmbLayout **dist_layout)
 {
   DEBUG("parsing %s, with length %d \n", str, strlen(str));
 >>>>>>> d47d5987 (mmbLayout on the wire)
+=======
+mstro_mmbLayout_parse(const char *str, size_t len, mmbLayout **dist_layout)
+{
+  DEBUG("parsing %s, with length %d \n", str, len);
+>>>>>>> 0e38bfb (maestro accepts mmblayout as an attribute type, reads and sets its default value - parse an irregular_1D mmbLayout from string)
   if(str==NULL) {
     ERR("NULL string, cannot parse as mmbLayout \n");
     return MSTRO_INVARG;
@@ -431,6 +440,7 @@ mstro_mmbLayout_parse(const char *str, mmbLayout **dist_layout)
   /*bypass the const char warning here ... working on the string for parsing */
   char * tmp = strdup(str);
 <<<<<<< HEAD
+<<<<<<< HEAD
 <<<<<<< HEAD
   return mstro_parse_mmbLayout_irregular_1D(tmp, dist_layout);
 =======
@@ -439,6 +449,9 @@ mstro_mmbLayout_parse(const char *str, mmbLayout **dist_layout)
 =======
   return mstro_parse_mmbLayout_irregular_1D(tmp, dist_layout);
 >>>>>>> d47d5987 (mmbLayout on the wire)
+=======
+  return mstro_parse_mmbLayout_irregular_1D(tmp, len, dist_layout);
+>>>>>>> 0e38bfb (maestro accepts mmblayout as an attribute type, reads and sets its default value - parse an irregular_1D mmbLayout from string)
 }
 
 mstro_status