fix broken 'compareWith' method. allow for passing in a 'compareWith' function into the constructor. added a 'walkAsync' method