controlling the flow