some cleanup
abilty to fan in/out work on multiple threads

- worker and parallel worker
- easy to parallelize when possible for given worker