Change threadPool to ExecutorService