diff --git a/src/mol-data/int/ordered-set.ts b/src/mol-data/int/ordered-set.ts
index 038b11830d67371ac9c90f50b2c8ac403f274a03..ff1aee372e2c2c7202c5c941bc23de85c0636638 100644
--- a/src/mol-data/int/ordered-set.ts
+++ b/src/mol-data/int/ordered-set.ts
@@ -23,11 +23,14 @@ namespace OrderedSet {
 
     export const min: <T extends number = number>(set: OrderedSet<T>) => T = Base.min as any;
     export const max: <T extends number = number>(set: OrderedSet<T>) => T = Base.max as any;
+    export const start: <T extends number = number>(set: OrderedSet<T>) => T = Base.start as any;
+    export const end: <T extends number = number>(set: OrderedSet<T>) => T = Base.end as any;
     export const size: <T extends number = number>(set: OrderedSet<T>) => number = Base.size as any;
     export const hashCode: <T extends number = number>(set: OrderedSet<T>) => number = Base.hashCode as any;
 
     export const areEqual: <T extends number = number>(a: OrderedSet<T>, b: OrderedSet<T>) => boolean = Base.areEqual as any;
     export const areIntersecting: <T extends number = number>(a: OrderedSet<T>, b: OrderedSet<T>) => boolean = Base.areIntersecting as any;
+    /** Check if the 2nd argument is a subset of the 1st */
     export const isSubset: <T extends number = number>(a: OrderedSet<T>, b: OrderedSet<T>) => boolean = Base.isSubset as any;
 
     export const union: <T extends number = number>(a: OrderedSet<T>, b: OrderedSet<T>) => OrderedSet<T> = Base.union as any;
@@ -49,6 +52,12 @@ namespace OrderedSet {
     export function isSortedArray<T extends number = number>(set: OrderedSet<T>): set is SortedArray<T> {
         return !Interval.is(set);
     }
+
+    export function toArray<T extends number = number>(set: OrderedSet<T>): T[] {
+        const array: T[] = []
+        OrderedSet.forEach(set, v => array.push(v))
+        return array
+    }
 }
 
 /** Represents bla */