implement basic per-user buffer