simplify the flow