parse reads and writes seperate