added the OneThreadExecutor class