improvements to linked list buffer
new buffer system seems to work