new buffer system