refactor edge_disjoint and now it generates more than 2 paths