added bfs, dfs & separated graph & vertex classes