simplified buffering