done a lot of testing. bfs is still in progress