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