add BFS
add DFS