Very fast and correct DFS