public char this[int index] { get { return (buffer[index + headIndex]); } set { buffer[index + headIndex] = value; } }