buffer interface