new buffering logic part 4