better simulator, but controller still need to do flow control