diff --git a/example/basic_zposv/zposv_morse_functions.c b/example/basic_zposv/zposv_morse_functions.c
index 93ab35c57de9fc81bf9f5970a7219f0f3569aeae..cc53929f16d89f0b202aa4ac53524ed5c9484852 100644
--- a/example/basic_zposv/zposv_morse_functions.c
+++ b/example/basic_zposv/zposv_morse_functions.c
@@ -64,37 +64,25 @@ int main(int argc, char *argv[]) {
      * MORSE_desc_t is a structure wrapping your data allowing MORSE to get
      * pointers to tiles
      */
-    MORSE_Desc_Create_User(&descA, NULL, MorseComplexDouble,
-                           NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
+    MORSE_Desc_Create(&descA, NULL, MorseComplexDouble,
+                      NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1);
 
     /* generate A matrix with random values such that it is hermitian */
     MORSE_zplghe_Tile( (double)N, descA, 51 );
 
     /* generate RHS */
-    MORSE_Desc_Create_User(&descB, NULL, MorseComplexDouble,
-                           NB, NB, NB*NB, N, 1, 0, 0, N, 1, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
+    MORSE_Desc_Create(&descB, NULL, MorseComplexDouble,
+                      NB, NB, NB*NB, N, 1, 0, 0, N, 1, 1, 1);
     MORSE_zplrnt_Tile( descB, 7672 );
 
     /* copy A before facto. in order to check the result */
-    MORSE_Desc_Create_User(&descAC, NULL, MorseComplexDouble,
-                           NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
+    MORSE_Desc_Create(&descAC, NULL, MorseComplexDouble,
+                      NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1);
     MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC);
 
     /* copy B before solving in order to check the result */
-    MORSE_Desc_Create_User(&descX, NULL, MorseComplexDouble,
-                           NB, NB, NB*NB, N, 1, 0, 0, N, 1, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
+    MORSE_Desc_Create(&descX, NULL, MorseComplexDouble,
+                      NB, NB, NB*NB, N, 1, 0, 0, N, 1, 1, 1);
     MORSE_zlacpy_Tile(MorseUpperLower, descB, descX);
 
     /* solve the system AX = B using the Cholesky factorization,
diff --git a/example/lapack_to_morse/step3.c b/example/lapack_to_morse/step3.c
index 833ff66960dc0be88beedcfb720183bc53b9ffdb..d5325acada64d70eff6ab00eca6359f0687ed37d 100644
--- a/example/lapack_to_morse/step3.c
+++ b/example/lapack_to_morse/step3.c
@@ -131,21 +131,12 @@ int main(int argc, char *argv[]) {
      * is equivalent to a call to MORSE_Desc_Create (morse_get... are the
      * functions used inside MORSE_Desc_Create).
      */
-    MORSE_Desc_Create_User(&descB, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
-    MORSE_Desc_Create_User(&descX, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
-    MORSE_Desc_Create_User(&descAC, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
+    MORSE_Desc_Create(&descB, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1);
+    MORSE_Desc_Create(&descX, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS, 1, 1);
+    MORSE_Desc_Create(&descAC, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, N, 0, 0, N, N, 1, 1);
 
     /* generate A matrix with random values such that it is spd */
     MORSE_dplgsy_Tile( (double)N, descA, 51 );
diff --git a/example/lapack_to_morse/step6.c b/example/lapack_to_morse/step6.c
index 4ed91da2ee32f53517fa13fd93b8cb003cf73400..407b03252f53218a468f5b331e991e0818221af0 100644
--- a/example/lapack_to_morse/step6.c
+++ b/example/lapack_to_morse/step6.c
@@ -130,30 +130,18 @@ int main(int argc, char *argv[]) {
     }
 
     /* Initialize the structure required for MORSE tile interface */
-    MORSE_Desc_Create_User(&descA, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, N, 0, 0, N, N,
-                           GRID_P, GRID_Q,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
-    MORSE_Desc_Create_User(&descB, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS,
-                           GRID_P, GRID_Q,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
-    MORSE_Desc_Create_User(&descX, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS,
-                           GRID_P, GRID_Q,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
-    MORSE_Desc_Create_User(&descAC, NULL, MorseRealDouble,
-                           NB, NB, NB*NB, N, N, 0, 0, N, N,
-                           GRID_P, GRID_Q,
-                           morse_getaddr_ccrb,
-                           morse_getblkldd_ccrb,
-                           morse_getrankof_2d);
+    MORSE_Desc_Create(&descA, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, N, 0, 0, N, N,
+                      GRID_P, GRID_Q);
+    MORSE_Desc_Create(&descB, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS,
+                      GRID_P, GRID_Q);
+    MORSE_Desc_Create(&descX, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, NRHS, 0, 0, N, NRHS,
+                      GRID_P, GRID_Q);
+    MORSE_Desc_Create(&descAC, NULL, MorseRealDouble,
+                      NB, NB, NB*NB, N, N, 0, 0, N, N,
+                      GRID_P, GRID_Q);
 
     /* generate A matrix with random values such that it is spd */
     MORSE_dplgsy_Tile( (double)N, descA, 51 );