externalize the execution methods