add BreadthFirstSearch and test data