processing flow