buffer and event