support TypedArray