IIUC, position of a particular interval is calculated whenever needed; looking for the property in a particular position is done via binary search; and when a user inserts text, only the interval under point is affected, is that correct? Sincerely, Yuan