don't use array buffer