main
make dfs same as c/c++ and other small improvement (#1543)
idomatic structure rust code, no include macro (#1528)