implemented BufferList