start from dfs
dfs version miss-cann done