work on utils.buffer