first pass at buffer port