asynchronous gatherall
refactorings