less code
fix it so it works

now we need buffers anyway, so there might not be a good use here.
more useful presentation