don't create a new thread pool each time