diff --git a/comsdk/__pycache__/graph.cpython-37.pyc b/comsdk/__pycache__/graph.cpython-37.pyc
index ee35c5361249e8d176a15c155606667af2115fe6..2c9df5b0aaa0a49d87b08214dfddeeb39d3aa825 100644
Binary files a/comsdk/__pycache__/graph.cpython-37.pyc and b/comsdk/__pycache__/graph.cpython-37.pyc differ
diff --git a/comsdk/__pycache__/parser.cpython-37.pyc b/comsdk/__pycache__/parser.cpython-37.pyc
index 630d7496c57cadfd6057133cef92de7f866efb81..3496a145b6aaf537c10d9393d44c32e513bed959 100644
Binary files a/comsdk/__pycache__/parser.cpython-37.pyc and b/comsdk/__pycache__/parser.cpython-37.pyc differ
diff --git a/comsdk/graph.py b/comsdk/graph.py
index e9fcd2f2034fcbc519bc67fcdcfc8170e701b6f1..db293a0554f20e6bc26d528b17df152765a38f36 100644
--- a/comsdk/graph.py
+++ b/comsdk/graph.py
@@ -37,10 +37,10 @@ class Selector(Func):
 
 
 class Transfer:
-    def __init__(self, edge, output_state, index=None):
+    def __init__(self, edge, output_state, order=0):
         self.edge = edge
         self.output_state = output_state
-        self.index = index
+        self.order = order
 
     def transfer(self, data, dynamic_keys_mapping={}):
         #print(dynamic_keys_mapping)
@@ -149,7 +149,7 @@ class State:
         self.transfers.sort(key = __sort_by_order)
         print(self.name)
         for t in self.transfers:
-            print("\t", t.edge.morph_name)
+            print("\t", t.edge.pred_name, t.edge.morph_name)
         if self._proxy_state is not None:
             return self._proxy_state.idle_run(idle_run_type, branching_states_history)
         if idle_run_type == IdleRunType.INIT:
@@ -180,7 +180,7 @@ class State:
                 next_state = transfer.output_state
                 next_state.idle_run(idle_run_type, branching_states_history + [next_state.name])
 
-    def connect_to(self, term_state, edge):
+    def connect_to(self, term_state, edge=None):
         self.transfers.append(Transfer(edge, term_state))
 #        edge.set_output_state(term_state)
 #        self.output_edges.append(edge)
diff --git a/comsdk/parser.py b/comsdk/parser.py
index 2990e5a82fe479f37998a7de7880018a0f05b44d..4be8318ebc1bd03f6cbc16c5bde312fa554c22f8 100644
--- a/comsdk/parser.py
+++ b/comsdk/parser.py
@@ -209,7 +209,7 @@ class Parser():
             self.fact.add_state(right[0])
             if len(spl)==4:
                 pr =self._param_from_props(spl[3])
-                self.fact.add_connection(left[0], right[0], pr.morphism)
+                self.fact.add_connection(left[0], right[0], pr.morphism, ordr=pr.order if pr.order is not None else 0)
             elif len(spl)==3:
                 self.fact.add_connection(left[0], right[0], None)
 
diff --git a/test.adot b/test.adot
index 87e5eb19bd8729be2e61ecd2c700b22502384374..d12305a343fd20c0bf16635f0f8f0d1df550c3cf 100644
--- a/test.adot
+++ b/test.adot
@@ -37,6 +37,6 @@ digraph CODEOBJECT_GENERATOR
 	CONTENT_SUBSTITUTED -> RESULT_SAVED [morphism=EDGE_5,comment="test comment to cpp"]
 // В зависимости от результата вычисления функции-SELECTOR осуществляется переход по
 //первому или второму ребру
-	RESULT_SAVED, DUMP_CREATED -> __END__ [morphism=(EDGE_8, EDGE_9)]
+	RESULT_SAVED -> __END__ [morphism=EDGE_8, order=(40)]
 	RESULT_SAVED -> INPUT_READY,FAKE,__END__ [selector=SELECTOR, morphism=(EDGE_6,EDGE_1,EDGE_7), order=(30,20,10)]
 }