interface
buffering