impl read and write for buffer
oooh now that's pretty
drop extra tabs
forward progress
pull test kernel into own file
mark as unsafe, add unsafe tags
Merging in high level read/write API