simplify reader/writer interface