buffer writes
collect everything under a single reader/writer object