making search async with a callback on results