feature(buffer) add