reader and writer interface
Merge branch 'reader-writer'