simplify TaskExecutor