main workflow idea