Make Reader/Writer more flexible