Make locate loop recursive instead of do-loop to accomodate async lookup
Some ideas in README
Add porting notes