Reader implementation on top of ArrayBuffer