added some new ways to create buffers