add dfs
make pretty
enhance style