Used ThreadPool instead of Executor everywhere.