use arraybuffer to improve performance