add bfs, dfs