added dfs stuff