buffer: work in progress