added some buffer behavior