buffer: save offset