- add different buffer implementations