added BufferAccessor