add buffer feature #7