awesome!!! it kind of works!
move buffer logic to buffer