reader/writer in router