better flow control