buffer: iteratior optimization