use a thread pool again to make testing easier