abstract page buffer interface