diff --git a/Files/fm1.pos.txt b/Files/fm1.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cd1b0f49d25f624ac162a3faca1539ffe1ac7b8c
--- /dev/null
+++ b/Files/fm1.pos.txt
@@ -0,0 +1 @@
+feat_pos s1
diff --git a/Files/fm1.posN.txt b/Files/fm1.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc4bd34d6f771961f12b71c70d1ed0e81a8e72e2
--- /dev/null
+++ b/Files/fm1.posN.txt
@@ -0,0 +1 @@
+feat_pos feat_number s1
diff --git a/Files/fm1.posNP.txt b/Files/fm1.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b3c2eae2b0cfd4a58d4ceea13867fbe769998fc9
--- /dev/null
+++ b/Files/fm1.posNP.txt
@@ -0,0 +1 @@
+feat_pos feat_number feat_person s1
diff --git a/Files/fm1.posNPG.txt b/Files/fm1.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7ba7661e4646718f13adcba06cb77cf047e29c58
--- /dev/null
+++ b/Files/fm1.posNPG.txt
@@ -0,0 +1 @@
+feat_pos feat_number feat_person feat_gender s1
diff --git a/Files/fm1.txt b/Files/fm1.txt
new file mode 100644
index 0000000000000000000000000000000000000000..655c6e645cc5a42912b35234405e82775c242252
--- /dev/null
+++ b/Files/fm1.txt
@@ -0,0 +1 @@
+s1
diff --git a/Files/fm2.pos.txt b/Files/fm2.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a17f75409717b3a79d96c653b3acfd207171a171
--- /dev/null
+++ b/Files/fm2.pos.txt
@@ -0,0 +1,3 @@
+feat_pos s1
+feat_pos s2
+feat_pos s1 s2
diff --git a/Files/fm2.posN.txt b/Files/fm2.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f6e2798274c2ff141c7f6692899632e34fb93432
--- /dev/null
+++ b/Files/fm2.posN.txt
@@ -0,0 +1,3 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s1 s2
diff --git a/Files/fm2.posNP.txt b/Files/fm2.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c91798baedc7a51d3f9cc646eec118ef325a5acd
--- /dev/null
+++ b/Files/fm2.posNP.txt
@@ -0,0 +1,3 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s1 s2
diff --git a/Files/fm2.posNPG.txt b/Files/fm2.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2f91aa6d6e752e611b76d8793aff81a0ef7a46e9
--- /dev/null
+++ b/Files/fm2.posNPG.txt
@@ -0,0 +1,3 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s1 s2
diff --git a/Files/fm2.txt b/Files/fm2.txt
new file mode 100644
index 0000000000000000000000000000000000000000..eb3fcaf5a91274a2401420b8ac3cd12598c1431a
--- /dev/null
+++ b/Files/fm2.txt
@@ -0,0 +1,3 @@
+s1
+s2
+s1 s2
diff --git a/Files/fm3.pos.txt b/Files/fm3.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..78aa77381b018d72c19ac7dea05657da118d41ec
--- /dev/null
+++ b/Files/fm3.pos.txt
@@ -0,0 +1,5 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s1 s2
+feat_pos s1 s2 s3
diff --git a/Files/fm3.posN.txt b/Files/fm3.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..73d6978501d1a2bca65cba98562861bcb1d563f6
--- /dev/null
+++ b/Files/fm3.posN.txt
@@ -0,0 +1,5 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
diff --git a/Files/fm3.posNP.txt b/Files/fm3.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..25e41d590980ab982c0194ca5a6aebfeb6bd0e51
--- /dev/null
+++ b/Files/fm3.posNP.txt
@@ -0,0 +1,5 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
diff --git a/Files/fm3.posNPG.txt b/Files/fm3.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8dc9621502ece4d9efb1d1dbeb8950eb3c4f0b60
--- /dev/null
+++ b/Files/fm3.posNPG.txt
@@ -0,0 +1,5 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
diff --git a/Files/fm3.txt b/Files/fm3.txt
new file mode 100644
index 0000000000000000000000000000000000000000..56a7191809025486dcae2a5c665e2c037e878edb
--- /dev/null
+++ b/Files/fm3.txt
@@ -0,0 +1,5 @@
+s1
+s2
+s3
+s1 s2
+s1 s2 s3
diff --git a/Files/fm4.pos.txt b/Files/fm4.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..281ac4d6ea5fa0b1303466f33ad20fae9b31a549
--- /dev/null
+++ b/Files/fm4.pos.txt
@@ -0,0 +1,7 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
diff --git a/Files/fm4.posN.txt b/Files/fm4.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..28d6107c27dfed97fa265d8731f3c932779b2e61
--- /dev/null
+++ b/Files/fm4.posN.txt
@@ -0,0 +1,7 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
diff --git a/Files/fm4.posNP.txt b/Files/fm4.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9d43db3091fd30ebe1d96a0f3dcb90916037751a
--- /dev/null
+++ b/Files/fm4.posNP.txt
@@ -0,0 +1,7 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
diff --git a/Files/fm4.posNPG.txt b/Files/fm4.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..33f53d5d7abf83c46c027cbb55549049a97a9d4a
--- /dev/null
+++ b/Files/fm4.posNPG.txt
@@ -0,0 +1,7 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
diff --git a/Files/fm4.txt b/Files/fm4.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b8dc89bbbf69f6de88dbdcf23c9e193672945f1
--- /dev/null
+++ b/Files/fm4.txt
@@ -0,0 +1,7 @@
+s1
+s2
+s3
+s4
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
diff --git a/Files/fm5.pos.txt b/Files/fm5.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..44aeee5b083a3e56b29b623b7168d51099fac063
--- /dev/null
+++ b/Files/fm5.pos.txt
@@ -0,0 +1,9 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s5
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
+feat_pos s1 s2 s3 s4 s5
diff --git a/Files/fm5.posN.txt b/Files/fm5.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b69eeeabb5f322b5c9cf566ef042b615615fdba7
--- /dev/null
+++ b/Files/fm5.posN.txt
@@ -0,0 +1,9 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s5
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
+feat_pos feat_number s1 s2 s3 s4 s5
diff --git a/Files/fm5.posNP.txt b/Files/fm5.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5d82319f9f5c67623bfac4d2698a9875bc7b6875
--- /dev/null
+++ b/Files/fm5.posNP.txt
@@ -0,0 +1,9 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s5
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
+feat_pos feat_number feat_person s1 s2 s3 s4 s5
diff --git a/Files/fm5.posNPG.txt b/Files/fm5.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d312df3a2611f5b9c08c2f956449910cdb3d0145
--- /dev/null
+++ b/Files/fm5.posNPG.txt
@@ -0,0 +1,9 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s5
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5
diff --git a/Files/fm5.txt b/Files/fm5.txt
new file mode 100644
index 0000000000000000000000000000000000000000..227f3e3e41f84ce235fc03f0c8c4cb8347f2d005
--- /dev/null
+++ b/Files/fm5.txt
@@ -0,0 +1,9 @@
+s1
+s2
+s3
+s4
+s5
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
+s1 s2 s3 s4 s5
diff --git a/Files/fm6.pos.txt b/Files/fm6.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fce00f9152b7e5391d19960888392a024a66a312
--- /dev/null
+++ b/Files/fm6.pos.txt
@@ -0,0 +1,11 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s5
+feat_pos s6
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
+feat_pos s1 s2 s3 s4 s5
+feat_pos s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.posN.txt b/Files/fm6.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..da0ef291140970f02c058b1e83ad7a147ee5ec25
--- /dev/null
+++ b/Files/fm6.posN.txt
@@ -0,0 +1,11 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s5
+feat_pos feat_number s6
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
+feat_pos feat_number s1 s2 s3 s4 s5
+feat_pos feat_number s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.posNP.txt b/Files/fm6.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..266ff66118f48d3425dcdca50042efa665bfab85
--- /dev/null
+++ b/Files/fm6.posNP.txt
@@ -0,0 +1,11 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s5
+feat_pos feat_number feat_person s6
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
+feat_pos feat_number feat_person s1 s2 s3 s4 s5
+feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.posNPG.txt b/Files/fm6.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1731705748fe0ac281378731e6f8df7c2cdf373f
--- /dev/null
+++ b/Files/fm6.posNPG.txt
@@ -0,0 +1,11 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s5
+feat_pos feat_number feat_person feat_gender s6
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.txt b/Files/fm6.txt
new file mode 100644
index 0000000000000000000000000000000000000000..980c9adbec9a9e529457de7d2c1bdde8e08496c5
--- /dev/null
+++ b/Files/fm6.txt
@@ -0,0 +1,11 @@
+s1
+s2
+s3
+s4
+s5
+s6
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
+s1 s2 s3 s4 s5
+s1 s2 s3 s4 s5 s6
diff --git a/Files/fm7.pos.txt b/Files/fm7.pos.txt
new file mode 100644
index 0000000000000000000000000000000000000000..69e20c33f0ba97f11ef10f409354f9f2fb798a47
--- /dev/null
+++ b/Files/fm7.pos.txt
@@ -0,0 +1,13 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s5
+feat_pos s6
+feat_pos s7
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
+feat_pos s1 s2 s3 s4 s5
+feat_pos s1 s2 s3 s4 s5 s6
+feat_pos s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.posN.txt b/Files/fm7.posN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dc742603f8232fb26724e28fc7e52eb2d9f75463
--- /dev/null
+++ b/Files/fm7.posN.txt
@@ -0,0 +1,13 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s5
+feat_pos feat_number s6
+feat_pos feat_number s7
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
+feat_pos feat_number s1 s2 s3 s4 s5
+feat_pos feat_number s1 s2 s3 s4 s5 s6
+feat_pos feat_number s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.posNP.txt b/Files/fm7.posNP.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2e92d90280eca675b9c812ac176f7dfae934af0
--- /dev/null
+++ b/Files/fm7.posNP.txt
@@ -0,0 +1,13 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s5
+feat_pos feat_number feat_person s6
+feat_pos feat_number feat_person s7
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
+feat_pos feat_number feat_person s1 s2 s3 s4 s5
+feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6
+feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.posNPG.txt b/Files/fm7.posNPG.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4d9f9235ea2f3cef471fe2167cc249dc98d3d8a6
--- /dev/null
+++ b/Files/fm7.posNPG.txt
@@ -0,0 +1,13 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s5
+feat_pos feat_number feat_person feat_gender s6
+feat_pos feat_number feat_person feat_gender s7
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.txt b/Files/fm7.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ede6e21dd19a68f01f2532f137aff10539861fa5
--- /dev/null
+++ b/Files/fm7.txt
@@ -0,0 +1,13 @@
+s1
+s2
+s3
+s4
+s5
+s6
+s7
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
+s1 s2 s3 s4 s5
+s1 s2 s3 s4 s5 s6
+s1 s2 s3 s4 s5 s6 s7
diff --git a/maca_morpho/src/maca_morpho_context.c b/maca_morpho/src/maca_morpho_context.c
index 0527a965e150105bacbdec5a0479498fb0a56df2..bef09d41d5b4373e2db9975342542294b3e5cf64 100644
--- a/maca_morpho/src/maca_morpho_context.c
+++ b/maca_morpho/src/maca_morpho_context.c
@@ -29,7 +29,6 @@ context *context_new(void)
   ctx->verbose = 0;
   ctx->debug_mode = 0;
   ctx->separate_classes = 0;
-  ctx->cascade = 0;
   ctx->program_name = NULL;
   ctx->fplm_filename = NULL;
   ctx->language = strdup("fr");
@@ -94,10 +93,6 @@ void context_separate_classes_help_message(context *ctx){
   fprintf(stderr, "\t-s --separate <int> : separate the classes for tense and person if you enter 1\n");
 }
 
-void context_cascade_help_message(context *ctx){
-  fprintf(stderr, "\t-c --cascade <int> : activate the cascade mode if you enter 1 (output fplm file)\n");
-}
-
 context *context_read_options(int argc, char *argv[])
 {
   int c;
@@ -121,13 +116,12 @@ context *context_read_options(int argc, char *argv[])
       {"target", 			  required_argument, 0, 't'},
       {"percent",             required_argument, 0, 'p'},
       {"code_class",          required_argument, 0, 'y'},
-      {"separate",			  required_argument, 0, 's'},
-      {"cascade",			  required_argument, 0, 'c'}
+      {"separate",			  required_argument, 0, 's'}
     };
   optind = 0;
   opterr = 0;
   
-  while ((c = getopt_long (argc, argv, "hvdf:L:M:D:F:y:x:w:t:p:s:c:", long_options, &option_index)) != -1){ 
+  while ((c = getopt_long (argc, argv, "hvdf:L:M:D:F:y:x:w:t:p:s:", long_options, &option_index)) != -1){ 
     switch (c)
       {
       case 'd':
@@ -168,9 +162,6 @@ context *context_read_options(int argc, char *argv[])
 	break;	  
 	  case 's':
 	ctx->separate_classes = atoi(optarg);
-	break;
-	  case 'c':
-	ctx->cascade = atoi(optarg);
 	break;
       }
   }
diff --git a/maca_morpho/src/maca_morpho_context.h b/maca_morpho/src/maca_morpho_context.h
index f2e6bf82e3a9a98c429a8bc4844be53869dea045..333e1a267fb9d09ff647a2c531e3836fb51ab2c5 100644
--- a/maca_morpho/src/maca_morpho_context.h
+++ b/maca_morpho/src/maca_morpho_context.h
@@ -14,7 +14,6 @@ typedef struct {
   int   debug_mode;
   int	fplm_test_percent;
   int   separate_classes;
-  int	cascade;
   char *program_name;
   char *fplm_filename;
   char *language;
@@ -43,5 +42,4 @@ void 	 context_target_help_message(context *ctx);
 void 	 context_fplm_test_percent_help_message(context *ctx);
 void 	 context_code_class_help_message(context* ctx);
 void	 context_separate_classes_help_message(context *ctx);
-void 	 context_cascade_help_message(context *ctx);
 #endif
diff --git a/maca_morpho/src/maca_morpho_feat_fct.c b/maca_morpho/src/maca_morpho_feat_fct.c
index d78750ef0f37ed54271e48c11cfe377b081bc68d..01f91cc87bcb0041a28d8ee455b7d29fd606a983 100644
--- a/maca_morpho/src/maca_morpho_feat_fct.c
+++ b/maca_morpho/src/maca_morpho_feat_fct.c
@@ -165,31 +165,6 @@ int feat_pos(FPLM* fplm)
 	return code;
 }
 
-int lemma_s1(FPLM* fplm)
-{
-	char16* tmp = utf8tochar16(fplm->lemma);
-	int size = char16_strlen(tmp);
-	if(tmp == NULL || size - 1 < 0)
-		return -1;
-	return tmp[size - 1];
-}
-int lemma_s2(FPLM* fplm)
-{
-	char16* tmp = utf8tochar16(fplm->lemma);
-	int size = char16_strlen(tmp);
-	if(tmp == NULL || size - 2 < 0)
-		return -1;
-	return tmp[size - 2];
-}
-int lemma_s3(FPLM* fplm)
-{
-	char16* tmp = utf8tochar16(fplm->lemma);
-	int size = char16_strlen(tmp);
-	if(tmp == NULL || size - 3 < 0)
-		return -1;
-	return tmp[size - 3];
-}
-
 feat_lib *feat_lib_build(void) {
 
   feat_lib *fl = feat_lib_new();
@@ -208,9 +183,6 @@ feat_lib *feat_lib_build(void) {
   feat_lib_add(fl, 1,  (char *)"feat_person", feat_person);
   feat_lib_add(fl, 1,  (char *)"feat_number", feat_number);
   feat_lib_add(fl, 1,  (char *)"feat_gender", feat_gender);
-  feat_lib_add(fl, 1,  (char *)"feat_tense", feat_tense); 
-  feat_lib_add(fl, 1,  (char *)"lemma_s1", lemma_s1); 
-  feat_lib_add(fl, 1,  (char *)"lemma_s2", lemma_s2); 
-  feat_lib_add(fl, 1,  (char *)"lemma_s3", lemma_s3); 
+  feat_lib_add(fl, 1,  (char *)"feat_tense", feat_tense);
   return fl;
 }
diff --git a/maca_morpho/src/predict.h b/maca_morpho/src/predict.h
index 90e9d3257e5ef41ddddd4d5834e5723772d026f4..9ef62d259703bd1524da6f9bf8b27ec50de864bf 100644
--- a/maca_morpho/src/predict.h
+++ b/maca_morpho/src/predict.h
@@ -14,7 +14,6 @@
 	{
 		FILE* f_error;
 		FILE* f_predict;
-		FILE* new_fplm;
 		FILE* morpho_predicted;
 	}Output_files;
 	
@@ -37,7 +36,7 @@
 	void new_input_files	 (Input_files* in_files);
 	void init_input_files	 (Input_files* in_files, char* fplm_name, char* code, char* all, char* c1, char* c2, char* c3, char* c4, char* p1, char* p2, char* p3, char* p4);
 	void new_output_files	 (Output_files* out_files);
-	void init_output_files	 (Output_files* out_files, char* error_name, char* predict_name, char* fplm_name, char* morpho_name);
+	void init_output_files	 (Output_files* out_files, char* error_name, char* predict_name, char* morpho_name);
 	void free_input_files	 (Input_files* in_files);
 	void free_output_files	 (Output_files* out_files);
 	
diff --git a/maca_morpho/src/predict_fct.c b/maca_morpho/src/predict_fct.c
index dd759fc33b15578290a991083006944f0ed0e19b..77308c28f50e2c477e9346440a40ff2857bf84a4 100644
--- a/maca_morpho/src/predict_fct.c
+++ b/maca_morpho/src/predict_fct.c
@@ -13,7 +13,6 @@ void predict_help_message(context *ctx)
 	context_weights_matrix_filename_help_message(ctx);
 	context_features_model_help_message(ctx);
 	context_code_class_help_message(ctx);
-	context_cascade_help_message(ctx);
 	exit(1);
 }
 
@@ -141,10 +140,9 @@ void new_output_files(Output_files* out_files)
 {
 	out_files->f_error = NULL;
 	out_files->f_predict = NULL;
-	out_files->new_fplm = NULL;
 	out_files->morpho_predicted = NULL;	
 }
-void init_output_files(Output_files* out_files, char* error_name, char* predict_name, char* fplm_name, char* morpho_name)
+void init_output_files(Output_files* out_files, char* error_name, char* predict_name, char* morpho_name)
 {
 	new_output_files(out_files);
 	if(error_name != NULL)
@@ -165,15 +163,6 @@ void init_output_files(Output_files* out_files, char* error_name, char* predict_
 			exit(EXIT_FAILURE);
 		}
 	}
-	if(fplm_name != NULL)
-	{
-		out_files->new_fplm = fopen(fplm_name, "w");
-		if(out_files->new_fplm==NULL)
-		{
-			fprintf(stderr,"Problem with the new fplm file.\n");
-			exit(EXIT_FAILURE);
-		}
-	}
 	if(morpho_name != NULL)
 	{
 		out_files->morpho_predicted = fopen(morpho_name, "w+");
@@ -205,7 +194,6 @@ void free_output_files(Output_files* out_files)
 {
 	if(out_files->f_error != NULL) fclose(out_files->f_error);
 	if(out_files->f_predict != NULL) fclose(out_files->f_predict);
-	if(out_files->new_fplm != NULL) fclose(out_files->new_fplm);
 	if(out_files->morpho_predicted != NULL) fclose(out_files->morpho_predicted);
 	free(out_files);
 }
@@ -224,7 +212,7 @@ void predict_all_classes(context* ctx)
 	int fields_nb;
 	int errors = 0;
 	
-	init_output_files(out_files, "error.txt", NULL, NULL, NULL);
+	init_output_files(out_files, "error.txt", NULL, NULL);
 	init_input_files(in_files,ctx->fplm_filename,ctx->code_class_filename,
 					NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 	while((fields_nb = read_line_fplm(in_files->f_fplm, fplm)) != -1)
@@ -343,7 +331,6 @@ void predict_target(context* ctx)
 	int fields_nb;
 	int errors = 0;
 	char target_name[10];
-	char output_fplm_name[20];
 	char predict_name[50];
 	FPLM* fplm = new_fplm();
 	TARGET target;
@@ -356,14 +343,8 @@ void predict_target(context* ctx)
 	strcpy(predict_name,"predict_");
 	strcat(predict_name,target_name);
 	target = choose_target(target_name);
-	if(ctx->cascade)
-	{
-		strcpy(output_fplm_name,"fplm_");
-		strcat(output_fplm_name,target_name);
-		init_output_files(out_files, "predict_error", predict_name, output_fplm_name, NULL);
-	}
-	else
-		init_output_files(out_files, "predict_error", predict_name, NULL, NULL); 
+
+	init_output_files(out_files, "predict_error", predict_name, NULL); 
 	
 	while((fields_nb = read_line_fplm(in_files->f_fplm, fplm)) != -1)
 	{
@@ -377,8 +358,6 @@ void predict_target(context* ctx)
 			continue;
 		}
 		line_nb++;
-		if(ctx->cascade) 
-			fprintf(out_files->new_fplm,"%s\t%s\t%s\t",fplm->form, fplm->pos, fplm->lemma);
 		make_prediction(ctx, out_files, in_files->code_class, target, &errors, fplm, cfw, fv, dico_features, fm);
 	}
 	printf("Success rate : %lf %%\n", 100-((float)errors*100/line_nb));
@@ -401,70 +380,6 @@ void make_prediction(context* ctx, Output_files* out_files, FILE* code_class, TA
 		errors_nb_separated(out_files->f_error, code_class, target, class_predicted, errors, fplm);
 	else
 		errors_nb_not_separated(out_files->f_error, code_class, target, fplm, class_predicted, errors);
-	
-	if(ctx->cascade)
-		write_new_fplm(fplm, target, out_files->new_fplm, code_class, class_predicted);
-
-}
-
-void write_new_fplm(FPLM* fplm, TARGET target, FILE* new_fplm, FILE* code_class, int class_predicted)
-{
-	int code;
-	int i=0;
-	int ok=1;
-	int cpt_diese = 0;
-	char tmp[20];
-	char new_morpho[30]; //will contain the morpho feature with the prediction
-	int position_morpho = 0;
-	int position = extract_class_position(target); //position = the num of the diese we want
-	while(i<(int)strlen(fplm->morpho) && cpt_diese!=position)
-	{
-		new_morpho[i] = fplm->morpho[i];
-		if(fplm->morpho[i]=='#')
-			cpt_diese++;
-		i++;
-	}
-	position = i; //position is now where we will include the class predicted
-	position_morpho = position;
-	while(position_morpho<(int)strlen(fplm->morpho) && fplm->morpho[position_morpho]!='#')
-		position_morpho++; //position_morpho is where we will copy the initial morpho feature in the new morpho feature
-
-	if(class_predicted==0)
-	{
-		while(position_morpho<(int)strlen(fplm->morpho)) //writting the initial morpho feature's rest in the new morpho feature
-		{
-			new_morpho[position] = fplm->morpho[position_morpho];
-			position++;
-			position_morpho++;
-		}
-		new_morpho[position]='\0';
-		ok=0;
-	}
-
-	rewind(code_class);
-	fscanf(code_class,"%s",tmp); //read the target name
-	while(ok && fscanf(code_class,"%d %s\n",&code,tmp)==2) //tmp = class
-	{
-		if(class_predicted==code && code!=0) //including the class predicted
-		{
-			i=0;
-			while(i<(int)strlen(tmp))
-			{
-				new_morpho[position]=tmp[i];
-				i++;
-				position++;
-			}
-			while(position_morpho<(int)strlen(fplm->morpho)) //writting the initial morpho feature's rest in the new morpho feature
-			{
-				new_morpho[position] = fplm->morpho[position_morpho];
-				position++;
-				position_morpho++;
-			}
-			new_morpho[position]='\0';
-			ok=0;
-		}
-	}
-	fprintf(new_fplm,"%s\n",new_morpho);	
 }
 
 	/**Fonctions for separated classes**/
@@ -522,7 +437,7 @@ void predict_each_and_all_targets(context* ctx)
 	int global_error = 0;
 	int line_nb = 0;
 	FPLM* fplm = new_fplm();
-	init_output_files(out_files, NULL, NULL, NULL, "morpho_predicted");
+	init_output_files(out_files, NULL, NULL, "morpho_predicted");
 	init_input_files(in_files,ctx->fplm_filename, NULL, "code_class", "code_class_tense", "code_class_person", "code_class_gender",
 			"code_class_number", "predict_tense", "predict_person", "predict_gender", "predict_number");