add breadth first search, make sure all tests pass, expand readme