worked on buffer