further work on buffer rework WIP