diff --git a/src/mol-data/util/interval-iterator.ts b/src/mol-data/util/interval-iterator.ts
index 1aee8046659ba74e3290c42cbde92939e4adb687..7f134d0c3f0f494ab90bff728f87aa1d65aff457 100644
--- a/src/mol-data/util/interval-iterator.ts
+++ b/src/mol-data/util/interval-iterator.ts
@@ -4,7 +4,7 @@
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
  */
 
- import Iterator from '../iterator'
+import Iterator from '../iterator'
 import { OrderedSet, Interval, Segmentation } from '../int';
 
 /** Emits a segment of length one for each element in the interval that is also in the set */
diff --git a/src/mol-geo/representation/structure/visual/element-point.ts b/src/mol-geo/representation/structure/visual/element-point.ts
index 1b6efc7405fbf9f8d11f3e3b67e89097e3c3f78a..22218af48ee3729a0becd19eedfa40463d3ada5c 100644
--- a/src/mol-geo/representation/structure/visual/element-point.ts
+++ b/src/mol-geo/representation/structure/visual/element-point.ts
@@ -9,7 +9,6 @@ import { ValueCell } from 'mol-util/value-cell'
 import { createPointRenderObject, PointRenderObject } from 'mol-gl/render-object'
 import { Unit } from 'mol-model/structure';
 import { RuntimeContext } from 'mol-task'
-import { fillSerial } from 'mol-gl/renderable/util';
 
 import { UnitsVisual, DefaultStructureProps } from '..';
 import VertexMap from '../../../shape/vertex-map';
@@ -23,6 +22,7 @@ import { PickingId } from '../../../util/picking';
 import { Loci } from 'mol-model/loci';
 import { MarkerAction, createMarkers } from '../../../util/marker-data';
 import { Vec3 } from 'mol-math/linear-algebra';
+import { fillSerial } from 'mol-util/array';
 
 export const DefaultPointProps = {
     ...DefaultStructureProps,
diff --git a/src/mol-geo/representation/util.ts b/src/mol-geo/representation/util.ts
index 1d4fd4f022b4eead59eeb9f6bd25aaa338cb8b5d..c76ad36b1f8339117a21a7a991ac7801e92d8610 100644
--- a/src/mol-geo/representation/util.ts
+++ b/src/mol-geo/representation/util.ts
@@ -7,9 +7,9 @@
 import { ValueCell } from 'mol-util/value-cell'
 import { BaseValues } from 'mol-gl/renderable/schema';
 import { MeshValues, RenderableState } from 'mol-gl/renderable';
-import { fillSerial } from 'mol-gl/renderable/util';
 import { defaults } from 'mol-util';
 import { Structure } from 'mol-model/structure';
+import { fillSerial } from 'mol-util/array';
 
 export const DefaultBaseProps = {
     alpha: 1,
diff --git a/src/mol-geo/representation/volume/surface.ts b/src/mol-geo/representation/volume/surface.ts
index 44906d165333f0350625b283cc7a0b89628a499a..dca3c980d53cc71879a91e54b68faa81777c90df 100644
--- a/src/mol-geo/representation/volume/surface.ts
+++ b/src/mol-geo/representation/volume/surface.ts
@@ -11,7 +11,6 @@ import { computeMarchingCubes } from '../../util/marching-cubes/algorithm';
 import { Mesh } from '../../shape/mesh';
 import { VolumeVisual } from '.';
 import { createMeshRenderObject, MeshRenderObject } from 'mol-gl/render-object';
-import { fillSerial } from 'mol-gl/renderable/util';
 import { ValueCell, defaults } from 'mol-util';
 import { Mat4 } from 'mol-math/linear-algebra';
 import { createUniformColor } from '../../util/color-data';
@@ -20,6 +19,7 @@ import { RenderableState, MeshValues } from 'mol-gl/renderable';
 import { PickingId } from '../../util/picking';
 import { createEmptyMarkers, MarkerAction } from '../../util/marker-data';
 import { Loci, EmptyLoci } from 'mol-model/loci';
+import { fillSerial } from 'mol-util/array';
 
 export function computeVolumeSurface(volume: VolumeData, isoValue: VolumeIsoValue) {
     return Task.create<Mesh>('Volume Surface', async ctx => {
diff --git a/src/mol-gl/_spec/renderer.spec.ts b/src/mol-gl/_spec/renderer.spec.ts
index c922e321966fa208a7cc2f9be2816290731083ce..52e7cfe073dc36d4b6796c1b5bfb098fa9c5c14f 100644
--- a/src/mol-gl/_spec/renderer.spec.ts
+++ b/src/mol-gl/_spec/renderer.spec.ts
@@ -11,7 +11,6 @@ import { Vec3, Mat4 } from 'mol-math/linear-algebra';
 import { ValueCell } from 'mol-util';
 
 import Renderer from '../renderer';
-import { fillSerial } from '../renderable/util';
 import { createUniformColor } from 'mol-geo/util/color-data';
 import { createUniformSize } from 'mol-geo/util/size-data';
 import { createContext } from '../webgl/context';
@@ -20,6 +19,7 @@ import { createPointRenderObject } from '../render-object';
 import { PointValues } from '../renderable/point';
 import Scene from '../scene';
 import { createEmptyMarkers } from 'mol-geo/util/marker-data';
+import { fillSerial } from 'mol-util/array';
 
 // function writeImage(gl: WebGLRenderingContext, width: number, height: number) {
 //     const pixels = new Uint8Array(width * height * 4)
diff --git a/src/mol-gl/renderable/util.ts b/src/mol-gl/renderable/util.ts
index 86f791611b5e64057ab7a1aee6a4714ef4476471..312ab7d4dc299e1dbb0b74c3f9fe4d246c4e4827 100644
--- a/src/mol-gl/renderable/util.ts
+++ b/src/mol-gl/renderable/util.ts
@@ -27,12 +27,6 @@ export function createTextureImage (n: number, itemSize: number): TextureImage {
     return { array: new Uint8Array(length), width, height }
 }
 
-export function fillSerial<T extends Helpers.NumberArray> (array: T) {
-    const n = array.length
-    for (let i = 0; i < n; ++i) array[ i ] = i
-    return array
-}
-
 export interface PositionValues {
     aPosition: ValueCell<Float32Array>
     drawCount: ValueCell<number>,
diff --git a/src/mol-util/array.ts b/src/mol-util/array.ts
index 36bb291267f2ad65324d86548d40dacfca5c5e34..d3dfa14a95f7bc2e030ef609e5effaf8a8f1ff08 100644
--- a/src/mol-util/array.ts
+++ b/src/mol-util/array.ts
@@ -41,4 +41,10 @@ export function arrayRms(array: Helpers.NumberArray) {
         sumSq += di * di
     }
     return Math.sqrt(sumSq / n)
+}
+
+export function fillSerial<T extends Helpers.NumberArray> (array: T) {
+    const n = array.length
+    for (let i = 0; i < n; ++i) array[ i ] = i
+    return array
 }
\ No newline at end of file