diff --git a/pykat/utilities/hermite.py b/pykat/math/hermite.py
similarity index 100%
rename from pykat/utilities/hermite.py
rename to pykat/math/hermite.py
diff --git a/pykat/utilities/zernike.py b/pykat/math/zernike.py
similarity index 100%
rename from pykat/utilities/zernike.py
rename to pykat/math/zernike.py
diff --git a/pykat/utilities/greedypoints/matched20.txt b/pykat/optics/greedypoints/matched20.txt
similarity index 100%
rename from pykat/utilities/greedypoints/matched20.txt
rename to pykat/optics/greedypoints/matched20.txt
diff --git a/pykat/utilities/greedypoints/mismatched10.txt b/pykat/optics/greedypoints/mismatched10.txt
similarity index 100%
rename from pykat/utilities/greedypoints/mismatched10.txt
rename to pykat/optics/greedypoints/mismatched10.txt
diff --git a/pykat/utilities/greedypoints/mismatched20.txt b/pykat/optics/greedypoints/mismatched20.txt
similarity index 100%
rename from pykat/utilities/greedypoints/mismatched20.txt
rename to pykat/optics/greedypoints/mismatched20.txt
diff --git a/pykat/utilities/knm.py b/pykat/optics/knm.py
similarity index 99%
rename from pykat/utilities/knm.py
rename to pykat/optics/knm.py
index 27a6277be3695512c54a56f87e3a5765977a453a..626335e9f7d5c6567d495df8473162078a52b2c7 100644
--- a/pykat/utilities/knm.py
+++ b/pykat/optics/knm.py
@@ -1,13 +1,13 @@
 from itertools import combinations_with_replacement as combinations
-from pykat.utilities.optics.gaussian_beams import beam_param, HG_beam
+from pykat.optics.gaussian_beams import beam_param, HG_beam
 from pykat.exceptions import BasePyKatException
-from romhom import u_star_u
+from pykat.optics.romhom import u_star_u
 from pykat.external.progressbar import ProgressBar, ETA, Percentage, Bar
 from scipy.interpolate import interp2d
 from scipy.integrate import dblquad
 
 import time
-import maps
+import pykat.optics.maps
 import os.path
 import numpy as np
 import pykat
diff --git a/pykat/utilities/maps.py b/pykat/optics/maps.py
similarity index 95%
rename from pykat/utilities/maps.py
rename to pykat/optics/maps.py
index 757260cc4887c9409f3bbe6eabe51d4ffb774dd5..a9d5d80305688f15b9d89800ded9150db0b019dc 100644
--- a/pykat/utilities/maps.py
+++ b/pykat/optics/maps.py
@@ -1,3 +1,18 @@
+"""
+------------------------------------------------------
+Utility functions for handling mirror surface
+maps. Some functions based on earlier version
+in Matlab (http://www.gwoptics.org/simtools/)
+Work in progress, currently these functions are
+untested!
+
+http://www.gwoptics.org/pykat/
+------------------------------------------------------
+"""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
 from pykat.utilities.romhom import makeReducedBasis, makeEmpiricalInterpolant, makeWeights
 from scipy.interpolate import interp2d
 import numpy as np
@@ -343,4 +358,4 @@ def read_map(filename):
     
     
         
-        
\ No newline at end of file
+        
diff --git a/pykat/utilities/romhom.py b/pykat/optics/romhom.py
similarity index 99%
rename from pykat/utilities/romhom.py
rename to pykat/optics/romhom.py
index 90e6aa5bd2851f14c929cbaa73122309fa19ef47..91aad436ff6790c0801a0bb4e8be2032f0514866 100644
--- a/pykat/utilities/romhom.py
+++ b/pykat/optics/romhom.py
@@ -5,10 +5,10 @@ import collections
     
 from pykat.external.progressbar import ProgressBar, ETA, Percentage, Bar
 from itertools import combinations_with_replacement as combinations
-from pykat.utilities.optics.gaussian_beams import beam_param, HG_beam
+from pykat.optics.gaussian_beams import beam_param, HG_beam
 from scipy.linalg import inv
 from math import factorial
-from hermite import *
+from pykat.math.hermite import *
 
 import numpy as np