after factoring IWorkflow