introduced ByteBufferProvider to clarify byte buffer factory behavior; added more copy behavior