buffer procedures