use TypedArray