added basic readers and writers