new buffer structure