added a run method to the protocol to differentiate creation and invocation of a process