NEW: working DFS