dfs in the graph looks a bit better for the path - i will really fiddle with this