updated DFS