diff --git a/UD_any/parser/machine.rm b/UD_any/parser/machine.rm
deleted file mode 100644
index 4b60269f299ea669e17cb72a1fc7537647c6e73c..0000000000000000000000000000000000000000
--- a/UD_any/parser/machine.rm
+++ /dev/null
@@ -1,26 +0,0 @@
-Name : Parser machine
-Classifier : parser
-{
-	Transitions : {parser,data/parser.ts}
-	Network type : Modular
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : HEAD DEPREL
-Strategy
-{
-	Block : End{cannotMove}
-	parser parser SHIFT 1
-	parser parser RIGHT 1
-	parser parser * 0
-}
diff --git a/UD_any/parserseg/machine.rm b/UD_any/parserseg/machine.rm
deleted file mode 100644
index 66542da9b8d240d11948d6002daf8ef949c49b71..0000000000000000000000000000000000000000
--- a/UD_any/parserseg/machine.rm
+++ /dev/null
@@ -1,28 +0,0 @@
-Name : Parser and Segmenter machine
-Classifier : parser
-{
-	Transitions : {parser,data/parser.ts segmenter,data/segmenter.ts}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	parser segmenter SHIFT 0
-	parser segmenter RIGHT 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/taggerparser_base/machine.rm b/UD_any/taggerparser_base/machine.rm
deleted file mode 100644
index 628b9c9caf2c4398111cd88b1729261519432c42..0000000000000000000000000000000000000000
--- a/UD_any/taggerparser_base/machine.rm
+++ /dev/null
@@ -1,31 +0,0 @@
-Name : Tagger, Parser and Segmenter baseline Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/taggerparser_incr/machine.rm b/UD_any/taggerparser_incr/machine.rm
deleted file mode 100644
index 27a286bf2bbd3d119270b90cd9c800f8f6749163..0000000000000000000000000000000000000000
--- a/UD_any/taggerparser_incr/machine.rm
+++ /dev/null
@@ -1,30 +0,0 @@
-Name : Tagger, Parser and Segmenter incremental Machine
-Classifier : taggerparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger parser * 0
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter tagger * 1
-}
diff --git a/UD_any/taggerparser_seq/machine.rm b/UD_any/taggerparser_seq/machine.rm
deleted file mode 100644
index ccc6799491ec1b696b876d3d02e0b97410d0f58b..0000000000000000000000000000000000000000
--- a/UD_any/taggerparser_seq/machine.rm
+++ /dev/null
@@ -1,31 +0,0 @@
-Name : Tagger, Parser and Segmenter sequential Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/tagmorpho/machine.rm b/UD_any/tagmorpho/machine.rm
deleted file mode 100644
index c0cfdc3831959dca56e40aa40c46d688b81116a3..0000000000000000000000000000000000000000
--- a/UD_any/tagmorpho/machine.rm
+++ /dev/null
@@ -1,20 +0,0 @@
-Name : Tagger and Feats Machine
-Classifier : tagmorpho
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts}
-	Network type : Modular
-	StateName : States{tagger morpho} Out{128}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM UPOS} GRU{1 1 0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0} Stack{} GRU{1 1 0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{} GRU{1 1 0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0} Stack{} GRU{1 1 0 1} In{128} Out{128}
-	InputDropout : 0.3
-	MLP : {2048 0.3}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS
-Strategy : sequential
-  tagger morpho 1
-  morpho morpho NOTHING 1
-  morpho morpho 0
diff --git a/UD_any/tagparser_base/machine.rm b/UD_any/tagparser_base/machine.rm
deleted file mode 100644
index 59a09d1a709ea4fe9b3f259d915e4e4d508d1a8d..0000000000000000000000000000000000000000
--- a/UD_any/tagparser_base/machine.rm
+++ /dev/null
@@ -1,35 +0,0 @@
-Name : Tagger, Feats , Parser and Segmenter baseline Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	morpho morpho NOTHING 1
-	morpho morpho * 0
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/tagparser_incr/machine.rm b/UD_any/tagparser_incr/machine.rm
deleted file mode 100644
index f6ad83fc2a2c9a318a53d80dbe4cf0f2f56900ce..0000000000000000000000000000000000000000
--- a/UD_any/tagparser_incr/machine.rm
+++ /dev/null
@@ -1,33 +0,0 @@
-Name : Tagger, Feats , Parser and Segmenter incremental Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger morpho * 0
-	morpho parser NOTHING 0
-	morpho morpho * 0
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter tagger * 1
-}
diff --git a/UD_any/tagparser_orfeo/machine.rm b/UD_any/tagparser_orfeo/machine.rm
deleted file mode 100644
index a2e354f3668f35991407eaae88cdadbb050b48fa..0000000000000000000000000000000000000000
--- a/UD_any/tagparser_orfeo/machine.rm
+++ /dev/null
@@ -1,29 +0,0 @@
-Name : Tagger, Parser and Segmenter incremental Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts parser,data/parser.ts segmenter,data/segmenter.ts}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM UPOS} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0 1} In{64} Out{64}
-	NumericColumn : Column{DEPS} Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} Out{64}
-	NumericColumn : Column{MISC} Buffer{-3 -2 -1 0 1 2} Stack{2 1 0} GRU{1 1 0 1} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger parser * 0
-	parser segmenter SHIFT 0
-	parser segmenter RIGHT 0
-	parser parser * 0
-	segmenter tagger * 1
-}
diff --git a/UD_any/tagparser_seq/machine.rm b/UD_any/tagparser_seq/machine.rm
deleted file mode 100644
index f07fae0cbfc4fd49b30ddbfc1fd3edd1bf8ef2c5..0000000000000000000000000000000000000000
--- a/UD_any/tagparser_seq/machine.rm
+++ /dev/null
@@ -1,35 +0,0 @@
-Name : Tagger, Feats , Parser and Segmenter sequential Machine
-Classifier : tagparser
-{
-	Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
-	LossMultiplier : {segmenter,10.0}
-	Network type : Modular
-	StateName : Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
-	Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
-	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
-	InputDropout : 0.5
-	MLP : {2048 0.3 2048 0.3}
-	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
-}
-Predictions : UPOS FEATS HEAD DEPREL EOS
-Strategy
-{
-	Block : End{cannotMove}
-	tagger tagger * 1
-	Block : End{cannotMove}
-	morpho morpho NOTHING 1
-	morpho morpho * 0
-	Block : End{cannotMove}
-	parser segmenter eager_SHIFT 0
-	parser segmenter eager_RIGHT_rel 0
-	parser parser * 0
-	segmenter parser * 1
-}
diff --git a/UD_any/morpho/machine.rm b/UD_any/templates/morpho/machine.rm
similarity index 72%
rename from UD_any/morpho/machine.rm
rename to UD_any/templates/morpho/machine.rm
index 554d1136acb7240e8ad8eda243890158a44500ba..ca27f2b22451aa27709d975f84d7006fa5216575 100644
--- a/UD_any/morpho/machine.rm
+++ b/UD_any/templates/morpho/machine.rm
@@ -7,13 +7,13 @@ Classifier : morpho
 	Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM UPOS} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+	Focused : Column{FEATS} NbElem{13} Buffer{-2 -1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+	Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
 	InputDropout : 0.5
 	MLP : {2048 0.3 2048 0.3}
 	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
+	Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
 }
 Predictions : FEATS
 Strategy
diff --git a/UD_any/templates/parser/machine.rm b/UD_any/templates/parser/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..ecaf19531d80335792ec5dc51c4243057dd040ba
--- /dev/null
+++ b/UD_any/templates/parser/machine.rm
@@ -0,0 +1,28 @@
+Name : Parser machine
+Classifier : parser
+{
+  Transitions : {parser,data/parser_eager_rel_strict.ts}
+  LossMultiplier : {}
+  Network type : Modular
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1 0 1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : HEAD DEPREL
+Strategy
+{
+	Block : End{cannotMove}
+	parser parser eager_SHIFT 1
+	parser parser eager_RIGHT_rel 1
+	parser parser * 0
+}
diff --git a/UD_any/templates/parserseg/machine.rm b/UD_any/templates/parserseg/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..b63b81c5c9ccb37291cb5ea118d1011f949d0e39
--- /dev/null
+++ b/UD_any/templates/parserseg/machine.rm
@@ -0,0 +1,30 @@
+Name : Parser and Segmenter machine
+Classifier : parserseg
+{
+	Transitions : {parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-2 -1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/tagger/machine.rm b/UD_any/templates/tagger/machine.rm
similarity index 80%
rename from UD_any/tagger/machine.rm
rename to UD_any/templates/tagger/machine.rm
index 9c21235b9057aa0eec0470a92e8c68da78edf3d8..cb82c594d0a9dfa03ba3ca434f59cc701e161e1f 100644
--- a/UD_any/tagger/machine.rm
+++ b/UD_any/templates/tagger/machine.rm
@@ -8,11 +8,11 @@ Classifier : tagger
 	Context : Buffer{-3 -2 -1} Stack{} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{} LSTM{1 1 0 1} In{64} Out{64}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+	Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
 	InputDropout : 0.5
 	MLP : {2048 0.3 2048 0.3}
 	End
-	Optimizer : Adam {0.0002 0.9 0.999 0.00000001 0.00001 true}
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
 }
 Predictions : UPOS
 Strategy
diff --git a/UD_any/templates/taggerparser_base/machine.rm b/UD_any/templates/taggerparser_base/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..a7267fb312361ad3732ac25f4252fcb39e6f4d90
--- /dev/null
+++ b/UD_any/templates/taggerparser_base/machine.rm
@@ -0,0 +1,31 @@
+Name : Tagger, Parser and Segmenter baseline Machine
+Classifier : taggerparser
+{
+	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/taggerparser_incr/machine.rm b/UD_any/templates/taggerparser_incr/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..85fe8905f815cd597fa127fc68a0624f5d8b666b
--- /dev/null
+++ b/UD_any/templates/taggerparser_incr/machine.rm
@@ -0,0 +1,30 @@
+Name : Tagger, Parser and Segmenter incremental Machine
+Classifier : taggerparser
+{
+  Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger parser * 0
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter tagger * 1
+}
diff --git a/UD_any/templates/taggerparser_seq/machine.rm b/UD_any/templates/taggerparser_seq/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..9cbbab8898b33439429a0f21f71cc62d2cf9a566
--- /dev/null
+++ b/UD_any/templates/taggerparser_seq/machine.rm
@@ -0,0 +1,31 @@
+Name : Tagger, Parser and Segmenter sequential Machine
+Classifier : taggerparser
+{
+	Transitions : {tagger,data/tagger.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tagparser_base/machine.rm b/UD_any/templates/tagparser_base/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..df89ed4bc2660d92d92a970013a32d88f31d3b9a
--- /dev/null
+++ b/UD_any/templates/tagparser_base/machine.rm
@@ -0,0 +1,35 @@
+Name : Tagger, Feats , Parser and Segmenter baseline Machine
+Classifier : tagparser
+{
+  Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tagparser_incr/machine.rm b/UD_any/templates/tagparser_incr/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..2c844de99c095780ee3683db9a209870df828330
--- /dev/null
+++ b/UD_any/templates/tagparser_incr/machine.rm
@@ -0,0 +1,33 @@
+Name : Tagger, Feats , Parser and Segmenter incremental Machine
+Classifier : tagparser
+{
+  Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger morpho * 0
+	morpho parser NOTHING 0
+	morpho morpho * 0
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter tagger * 1
+}
diff --git a/UD_any/templates/tagparser_seq/machine.rm b/UD_any/templates/tagparser_seq/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..6098ee1e344f293082a97885bc7834b111068749
--- /dev/null
+++ b/UD_any/templates/tagparser_seq/machine.rm
@@ -0,0 +1,35 @@
+Name : Tagger, Feats , Parser and Segmenter sequential Machine
+Classifier : tagparser
+{
+  Transitions : {tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Predictions : UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tokenizer/machine.rm b/UD_any/templates/tokenizer/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..a2f74060cbd99a8ef55b6c2e679bff40cb975033
--- /dev/null
+++ b/UD_any/templates/tokenizer/machine.rm
@@ -0,0 +1,28 @@
+Name : Tokenizer Machine
+Classifier : tokenizer
+{
+	Transitions : {tokenizer,data/tokenizer.ts}
+  LossMultiplier : {}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-3 -2 -1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tokenizer ENDWORD 1
+	tokenizer tokenizer SPLIT 1
+	tokenizer tokenizer * 0
+}
+
diff --git a/UD_any/templates/tokeparser_base/machine.rm b/UD_any/templates/tokeparser_base/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..e4cd45b38847b7071963f603af493bb2ea835c1d
--- /dev/null
+++ b/UD_any/templates/tokeparser_base/machine.rm
@@ -0,0 +1,42 @@
+Name : Tokenizer, Tagger, Morpho and Parser Machine
+Classifier : tokeparser
+{
+  Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tokenizer ENDWORD 1
+	tokenizer tokenizer SPLIT 1
+	tokenizer tokenizer * 0
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/templates/tokeparser_incr/machine.rm b/UD_any/templates/tokeparser_incr/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..0afaf012437c7cb8827775294d6da8780c00f785
--- /dev/null
+++ b/UD_any/templates/tokeparser_incr/machine.rm
@@ -0,0 +1,39 @@
+Name : Tokenizer, Tagger, Morpho and Parser Machine
+Classifier : tokeparser
+{
+  Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-2 -1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tagger ENDWORD 0
+	tokenizer tagger SPLIT 0
+	tokenizer tokenizer * 0
+	tagger morpho * 0
+	morpho parser NOTHING 0
+	morpho morpho * 0
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter tokenizer * 1
+}
diff --git a/UD_any/templates/tokeparser_seq/machine.rm b/UD_any/templates/tokeparser_seq/machine.rm
new file mode 100644
index 0000000000000000000000000000000000000000..47fb4df834606a5d84c75959d0702698e58d89ad
--- /dev/null
+++ b/UD_any/templates/tokeparser_seq/machine.rm
@@ -0,0 +1,42 @@
+Name : Tokenizer, Tagger, Morpho and Parser Machine
+Classifier : tokeparser
+{
+  Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser_eager_rel_strict.ts segmenter,data/segmenter.ts}
+  LossMultiplier : {segmenter,3.0}
+  Network type : Modular
+  StateName : Out{1024}
+  Context : Buffer{-3 -2 -1 1 2} Stack{} Columns{FORM} LSTM{1 1 0 1} In{64} Out{64}
+  Context : Buffer{-3 -2 -1 0 1 2} Stack{1 0} Columns{UPOS} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{ID} NbElem{1} Buffer{-1 0 1} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FORM} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{FEATS} NbElem{13} Buffer{-1 0 1 2} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{EOS} NbElem{1} Buffer{-1 0} Stack{} LSTM{1 1 0 1} In{64} Out{64}
+  Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} LSTM{1 1 0 1} In{64} Out{64}
+  DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} LSTM{1 1 0.0 1} In{64} Out{64}
+  History : NbElem{10} LSTM{1 1 0 1} In{64} Out{64}
+	RawInput : Left{5} Right{5} LSTM{1 1 0.0 1} In{32} Out{32}
+	SplitTrans : LSTM{1 1 0.0 1} In{64} Out{64}
+  InputDropout : 0.5
+  MLP : {2048 0.3 2048 0.3}
+  End
+  Optimizer : Adam {0.0003 0.9 0.999 0.00000001 0.00002 true}
+}
+Splitwords : data/splitwords.ts
+Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
+Strategy
+{
+	Block : End{cannotMove}
+	tokenizer tokenizer ENDWORD 1
+	tokenizer tokenizer SPLIT 1
+	tokenizer tokenizer * 0
+	Block : End{cannotMove}
+	tagger tagger * 1
+	Block : End{cannotMove}
+	morpho morpho NOTHING 1
+	morpho morpho * 0
+	Block : End{cannotMove}
+	parser segmenter eager_SHIFT 0
+	parser segmenter eager_RIGHT_rel 0
+	parser parser * 0
+	segmenter parser * 1
+}
diff --git a/UD_any/tokenizer/machine.rm b/UD_any/tokenizer/machine.rm
deleted file mode 100644
index 1b26358618e6be2288cae1a249ad7ccf6f3fff9d..0000000000000000000000000000000000000000
--- a/UD_any/tokenizer/machine.rm
+++ /dev/null
@@ -1,21 +0,0 @@
-Name : Tokenizer Machine
-Classifier : tokenizer
-{
-	Transitions : {tokenizer,data/tokenizer.ts}
-	Network type : Modular
-	Context : Unk{1} Buffer{-3 -2 -1} Stack{} Columns{FORM} GRU{1 1 0.0 1} In{128} Out{512}
-	Focused : Column{ID} NbElem{1} Buffer{-1 0} Stack{} GRU{1 1 0.0 1} In{128} Out{256}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{} GRU{1 1 0.0 1} In{128} Out{256}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{32} Out{32}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.3
-	MLP : {2048 0.3}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM EOS
-Strategy : sequential
-  tokenizer tokenizer ENDWORD 1
-  tokenizer tokenizer SPLIT 1
-  tokenizer tokenizer 0
diff --git a/UD_any/tokeparser_base/machine.rm b/UD_any/tokeparser_base/machine.rm
deleted file mode 100644
index 39ec5b5d0b3bf47acd3e0ad88f659447adda6b01..0000000000000000000000000000000000000000
--- a/UD_any/tokeparser_base/machine.rm
+++ /dev/null
@@ -1,32 +0,0 @@
-Name : Tokenizer, Tagger, Morpho and Parser Machine
-Classifier : tokeparser
-{
-	Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser.ts}
-	Network type : Modular
-	StateName : States{tokenizer tagger morpho parser} Out{128}
-	Context : Buffer{-3 -2 -1} Stack{2 1 0} Columns{FORM UPOS} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{64} Out{64}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.4
-	MLP : {2048 0.3 512 0.1}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
-Strategy : sequential
-  tokenizer tagger ENDWORD 1
-  tokenizer tagger SPLIT 1
-  tokenizer tagger 0
-  tagger morpho 1
-  morpho parser NOTHING 1
-  morpho parser 0
-  parser tokenizer SHIFT 1
-  parser tokenizer RIGHT 1
-  parser tokenizer 0
diff --git a/UD_any/tokeparser_incr/machine.rm b/UD_any/tokeparser_incr/machine.rm
deleted file mode 100644
index 4405538c6b8432f34fbd8aaa0d213715ef1f7383..0000000000000000000000000000000000000000
--- a/UD_any/tokeparser_incr/machine.rm
+++ /dev/null
@@ -1,32 +0,0 @@
-Name : Tokenizer, Tagger, Morpho and Parser Machine
-Classifier : tokeparser
-{
-	Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser.ts}
-	Network type : Modular
-	StateName : States{tokenizer tagger morpho parser} Out{128}
-	Context : Buffer{-3 -2 -1} Stack{2 1 0} Columns{FORM UPOS} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{64} Out{64}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.4
-	MLP : {2048 0.3 512 0.1}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
-Strategy : incremental
-  tokenizer tagger ENDWORD 0
-  tokenizer tagger SPLIT 0
-  tokenizer tokenizer 0
-  tagger morpho 0
-  morpho parser NOTHING 0
-  morpho morpho 0
-  parser tokenizer SHIFT 1
-  parser tokenizer RIGHT 1
-  parser parser 0
diff --git a/UD_any/tokeparser_seq/machine.rm b/UD_any/tokeparser_seq/machine.rm
deleted file mode 100644
index a7a9bea134856be7ba3e285eeae50dc779b32a98..0000000000000000000000000000000000000000
--- a/UD_any/tokeparser_seq/machine.rm
+++ /dev/null
@@ -1,32 +0,0 @@
-Name : Tokenizer, Tagger, Morpho and Parser Machine
-Classifier : tokeparser
-{
-	Transitions : {tokenizer,data/tokenizer.ts tagger,data/tagger.ts morpho,data/morpho_parts.ts parser,data/parser.ts}
-	Network type : Modular
-	StateName : States{tokenizer tagger morpho parser} Out{128}
-	Context : Buffer{-3 -2 -1 1 2} Stack{2 1 0} Columns{FORM UPOS} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{ID} NbElem{1} Buffer{0} Stack{0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{EOS} NbElem{1} Buffer{-1} Stack{} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FORM} NbElem{10} Buffer{-1 0 1} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{FEATS} NbElem{10} Buffer{-1 0 1} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	Focused : Column{DEPREL} NbElem{1} Buffer{} Stack{2 1 0} GRU{1 1 0.0 1} In{128} Out{128}
-	RawInput : Left{5} Right{5} GRU{1 1 0.0 1} In{64} Out{64}
-	SplitTrans : GRU{1 1 0.0 1} In{128} Out{128}
-	DepthLayerTree : Columns{DEPREL} Buffer{} Stack{2 1 0} LayerSizes{3} GRU{1 1 0.0 1} In{128} Out{128}
-	InputDropout : 0.4
-	MLP : {2048 0.3 512 0.1}
-	End
-	Optimizer : Adam {0.0005 0.9 0.999 0.00000001 0.00001 true}
-}
-Splitwords : data/splitwords.ts
-Predictions : ID FORM UPOS FEATS HEAD DEPREL EOS
-Strategy : sequential
-  tokenizer tagger ENDWORD 1
-  tokenizer tagger SPLIT 1
-  tokenizer tagger 0
-  tagger morpho 1
-  morpho parser NOTHING 1
-  morpho parser 0
-  parser tokenizer SHIFT 1
-  parser tokenizer RIGHT 1
-  parser tokenizer 0