diff --git a/src/mol-base/_spec/collections.spec.ts b/src/mol-base/_spec/collections.spec.ts
index 6ed01e4bb98d31418b24ac29c5be8dfdd16a38f9..71330f576fbc08c238a3cd8208d4fe18bdd2438e 100644
--- a/src/mol-base/_spec/collections.spec.ts
+++ b/src/mol-base/_spec/collections.spec.ts
@@ -208,18 +208,18 @@ describe('ordered set', () => {
     });
 
     it('interval range', () => {
-        expect(OrderedSet.getIntervalRange(empty, 9, 11)).toEqual({ start: 0, end: 0 });
-        expect(OrderedSet.getIntervalRange(empty, -9, -6)).toEqual({ start: 0, end: 0 });
-        expect(OrderedSet.getIntervalRange(singleton10, 9, 11)).toEqual({ start: 0, end: 1 });
-        expect(OrderedSet.getIntervalRange(range1_4, 2, 3)).toEqual({ start: 1, end: 3 });
-        expect(OrderedSet.getIntervalRange(range1_4, -10, 2)).toEqual({ start: 0, end: 2 });
-        expect(OrderedSet.getIntervalRange(range1_4, -10, 20)).toEqual({ start: 0, end: 4 });
-        expect(OrderedSet.getIntervalRange(range1_4, 3, 20)).toEqual({ start: 2, end: 4 });
-        expect(OrderedSet.getIntervalRange(arr136, 0, 1)).toEqual({ start: 0, end: 1 });
-        expect(OrderedSet.getIntervalRange(arr136, 0, 3)).toEqual({ start: 0, end: 2 });
-        expect(OrderedSet.getIntervalRange(arr136, 0, 4)).toEqual({ start: 0, end: 2 });
-        expect(OrderedSet.getIntervalRange(arr136, 2, 4)).toEqual({ start: 1, end: 2 });
-        expect(OrderedSet.getIntervalRange(arr136, 2, 7)).toEqual({ start: 1, end: 3 });
+        expect(OrderedSet.findIntervalRange(empty, 9, 11)).toEqual({ start: 0, end: 0 });
+        expect(OrderedSet.findIntervalRange(empty, -9, -6)).toEqual({ start: 0, end: 0 });
+        expect(OrderedSet.findIntervalRange(singleton10, 9, 11)).toEqual({ start: 0, end: 1 });
+        expect(OrderedSet.findIntervalRange(range1_4, 2, 3)).toEqual({ start: 1, end: 3 });
+        expect(OrderedSet.findIntervalRange(range1_4, -10, 2)).toEqual({ start: 0, end: 2 });
+        expect(OrderedSet.findIntervalRange(range1_4, -10, 20)).toEqual({ start: 0, end: 4 });
+        expect(OrderedSet.findIntervalRange(range1_4, 3, 20)).toEqual({ start: 2, end: 4 });
+        expect(OrderedSet.findIntervalRange(arr136, 0, 1)).toEqual({ start: 0, end: 1 });
+        expect(OrderedSet.findIntervalRange(arr136, 0, 3)).toEqual({ start: 0, end: 2 });
+        expect(OrderedSet.findIntervalRange(arr136, 0, 4)).toEqual({ start: 0, end: 2 });
+        expect(OrderedSet.findIntervalRange(arr136, 2, 4)).toEqual({ start: 1, end: 2 });
+        expect(OrderedSet.findIntervalRange(arr136, 2, 7)).toEqual({ start: 1, end: 3 });
     })
 
     testEq('union ES', OrderedSet.union(empty, singleton10), [10]);
diff --git a/src/mol-base/collections/ordered-set.ts b/src/mol-base/collections/ordered-set.ts
index 99325d25d5ae7d707caaa00ea2b572cf231fc867..c1a697a91713661d1af08c3659c16f70d9cd72e8 100644
--- a/src/mol-base/collections/ordered-set.ts
+++ b/src/mol-base/collections/ordered-set.ts
@@ -8,6 +8,7 @@ import * as Base from './ordered-set/base'
 import SegmentIterator from './ordered-set/segment-iterator'
 
 namespace OrderedSet {
+    /** Range of indices to be iterated as start <= i < end. */
     export interface IndexRange { start: number, end: number }
     export function IndexRange(start?: number, end?: number): IndexRange { return { start: start || 0, end: end || 0 }; }
 
@@ -34,11 +35,11 @@ namespace OrderedSet {
     export const intersect: (a: OrderedSet, b: OrderedSet) => OrderedSet = Base.intersect as any;
     export const subtract: (a: OrderedSet, b: OrderedSet) => OrderedSet = Base.subtract as any;
 
-    export const getPredIndex: (set: OrderedSet, x: number) => number = Base.getPredIndex as any;
-    export const getPredIndexInRange: (set: OrderedSet, x: number, range: IndexRange) => number = Base.getPredIndexInRange as any;
-    export const getIntervalRange: (set: OrderedSet, min: number, max: number) => IndexRange = Base.getIntervalRange as any;
+    export const findPredecessorIndex: (set: OrderedSet, x: number) => number = Base.getPredIndex as any;
+    export const findPredecessorIndexInRange: (set: OrderedSet, x: number, range: IndexRange) => number = Base.getPredIndexInRange as any;
+    export const findIntervalRange: (set: OrderedSet, min: number, max: number) => IndexRange = Base.getIntervalRange as any;
 
-    export const segments = SegmentIterator
+    export const segments = SegmentIterator;
 }
 
 interface OrderedSet { '@type': 'int-ordered-set' }
diff --git a/src/mol-base/collections/ordered-set/segment-iterator.ts b/src/mol-base/collections/ordered-set/segment-iterator.ts
index 06642dba7fb7d54e8a1db3ade663bf15676ff58f..f5c7a712a2205339426d6fdc94be722269f8b0d6 100644
--- a/src/mol-base/collections/ordered-set/segment-iterator.ts
+++ b/src/mol-base/collections/ordered-set/segment-iterator.ts
@@ -36,12 +36,12 @@ class SegmentIterator implements Iterator<{ segment: number } & OrderedSet.Index
 
     private getSegmentIndex(value: number) {
         if (value >= this.last) return -1;
-        return OrderedSet.getPredIndex(this.segments, value - 1);
+        return OrderedSet.findPredecessorIndex(this.segments, value - 1);
     }
 
     private updateValue() {
         const segmentEnd = OrderedSet.getAt(this.segments, this.segmentRange.start + 1);
-        const setEnd = OrderedSet.getPredIndexInRange(this.set, segmentEnd, this.setRange);
+        const setEnd = OrderedSet.findPredecessorIndexInRange(this.set, segmentEnd, this.setRange);
         this.value.start = this.setRange.start;
         this.value.end = setEnd;
         this.setRange.start = setEnd;
diff --git a/src/mol-data/atom-set/base.ts b/src/mol-data/atom-set/base.ts
index 2be02c26e1e4c43cb1be15928b31760c99537b92..2147fc755b89b1e6e7abfb47688706241e1e424f 100644
--- a/src/mol-data/atom-set/base.ts
+++ b/src/mol-data/atom-set/base.ts
@@ -353,7 +353,7 @@ function areIntersectingEE(a: AtomSetElements, b: AtomSetElements) {
     if (a === b) return true;
     const keysA = a.keys, keysB = b.keys;
     if (!OrderedSet.areIntersecting(a.keys, b.keys)) return false;
-    const { start, end } = OrderedSet.getIntervalRange(keysA, OrderedSet.min(keysB), OrderedSet.max(keysB));
+    const { start, end } = OrderedSet.findIntervalRange(keysA, OrderedSet.min(keysB), OrderedSet.max(keysB));
     for (let i = start; i < end; i++) {
         const k = OrderedSet.getAt(keysA, i);
         if (OrderedSet.has(keysB, k) && OrderedSet.areIntersecting(a[k], b[k])) return true;
@@ -372,7 +372,7 @@ function intersectEE(a: AtomSetElements, b: AtomSetElements) {
 
     const keysA = a.keys, keysB = b.keys;
     if (!OrderedSet.areIntersecting(a.keys, b.keys)) return Empty;
-    const { start, end } = OrderedSet.getIntervalRange(keysA, OrderedSet.min(keysB), OrderedSet.max(keysB));
+    const { start, end } = OrderedSet.findIntervalRange(keysA, OrderedSet.min(keysB), OrderedSet.max(keysB));
 
     const keys = [], ret = Object.create(null);
     for (let i = start; i < end; i++) {
@@ -412,7 +412,7 @@ function subtractEE(a: AtomSetElements, b: AtomSetElements) {
 
     const keysA = a.keys, keysB = b.keys;
     if (!OrderedSet.areIntersecting(a.keys, b.keys)) return Empty;
-    const { start, end } = OrderedSet.getIntervalRange(keysA, OrderedSet.min(keysB), OrderedSet.max(keysB));
+    const { start, end } = OrderedSet.findIntervalRange(keysA, OrderedSet.min(keysB), OrderedSet.max(keysB));
 
     const keys = [], ret = Object.create(null);
     for (let i = 0; i < start; i++) {