detail out the workflow