use raw arraybuffer not dataview