Cleanup
Add an impl that uses a pool of workers.