diff --git a/lib/sasacore/topology.ml b/lib/sasacore/topology.ml
index 89dc373e079359bd6dc149848c56a6576ed61738..d86287959816158ff59736eccf80d65f8dbb3832 100644
--- a/lib/sasacore/topology.ml
+++ b/lib/sasacore/topology.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 11/10/2019 (at 14:27) by Erwan Jahier> *)
+(* Time-stamp: <modified the 17/10/2019 (at 20:39) by Erwan Jahier> *)
 
 open Graph
 open Graph.Dot_ast
@@ -15,6 +15,7 @@ type t = {
   nodes: node list;
   succ: node_id -> (int option * node_id) list;
   of_id: node_id -> node;
+  directed:bool
 }
 
 type node_info_t = (string, node) Hashtbl.t
@@ -125,8 +126,9 @@ let (read: string -> t) = fun f ->
     nodes = List.rev res;
     succ = (fun str -> try Hashtbl.find node_succ str with Not_found -> []);
     of_id = (fun str -> try Hashtbl.find node_info str with Not_found ->
-        failwith (str^ " unknown node id")
-      )
+                          failwith (str^ " unknown node id")
+            );
+    directed = dot_file.digraph
   }
 
 let (to_adjency: t -> bool array array) =
diff --git a/lib/sasacore/topology.mli b/lib/sasacore/topology.mli
index 3e60c75f13260c791cc3aa40ba8e0256f2dd24ae..9f2fde2cebf6f128724f4018e76033406db34d6b 100644
--- a/lib/sasacore/topology.mli
+++ b/lib/sasacore/topology.mli
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 14/10/2019 (at 16:59) by Erwan Jahier> *)
+(* Time-stamp: <modified the 17/10/2019 (at 20:39) by Erwan Jahier> *)
 
 type node_id = string
 type node = {
@@ -12,6 +12,7 @@ type t = {
   nodes: node list;
   succ: node_id -> (int option * node_id) list; 
   of_id: node_id -> node;
+  directed:bool
 }
 
 (** Parse a sasa dot file *)
diff --git a/test/async-unison/grid4.dot b/test/async-unison/grid4.dot
new file mode 100644
index 0000000000000000000000000000000000000000..17e0751181ff4d340511d27cd0eb8838e98df8af
--- /dev/null
+++ b/test/async-unison/grid4.dot
@@ -0,0 +1,51 @@
+graph grid4 {
+graph [min_deg=2
+	mean_deg=3.
+	max_deg=4
+	is_connected=true
+	is_cyclic=true
+	is_tree=true
+	links_number=24]
+  p0 [algo="p.ml"  init="0"]
+  p1 [algo="p.ml"  init="17"]
+  p2 [algo="p.ml"  init="18"]
+  p3 [algo="p.ml"  init="19"]
+  p4 [algo="p.ml"  init="17"]
+  p5 [algo="p.ml"  init="18"]
+  p6 [algo="p.ml"  init="19"]
+  p7 [algo="p.ml"  init="20"]
+  p8 [algo="p.ml"  init="18"]
+  p9 [algo="p.ml"  init="19"]
+  p10 [algo="p.ml"  init="20"]
+  p11 [algo="p.ml"  init="21"]
+  p12 [algo="p.ml"  init="19"]
+  p13 [algo="p.ml"  init="20"]
+  p14 [algo="p.ml"  init="21"]
+  p15 [algo="p.ml"  init="22"]
+
+  p0 -- p1
+  p0 -- p4
+  p1 -- p2
+  p1 -- p5
+  p10 -- p11
+  p10 -- p14
+  p10 -- p6
+  p10 -- p9
+  p11 -- p15
+  p11 -- p7
+  p12 -- p13
+  p12 -- p8
+  p13 -- p14
+  p13 -- p9
+  p14 -- p15
+  p2 -- p3
+  p2 -- p6
+  p3 -- p7
+  p4 -- p5
+  p4 -- p8
+  p5 -- p6
+  p5 -- p9
+  p6 -- p7
+  p8 -- p9
+}
+