modify ASSERT
delete SubBuffer and ProxyBuffer, and add class Buffer