refactored to use worker library and run concurrently
more future hell
inlined futures
workers merged