update copy constructors without datasz
update copy buffers without datasz
pointer hacking to work with const *
change around constructors for buffer, create nullbuf
use zero space init for buffer