added the buffer reuse
fix the bug with buffer recycle