also buffer end()