start to refactor the way buffers work...