working on read
Some of kind of bug between read and write, not totally sure, but right idea
fixed merge conflict