improved buffer