in memory, multiprocessed

uses concurrent.futures.