added BFS and cleaned up driver