Change scan to yield futures instead of one list
Add async.resolve() to get result of future lists