first commit - dfs version