add bufferIO