add shadow api for push and pop
add graph, bfs, dfs
add graph