added some buffer implementations