add buffer management features