multiple buffers buffered / mad abstraction
+