user can specify the executor to execute on in Function