diff --git a/pykat/finesse.py b/pykat/finesse.py
index e06f322b31c9eeb117aed32dfae2f6829aeb1fee..81bc400b8c51bd22f55d664785be11efde6151fa 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -1186,14 +1186,18 @@ class kat(object):
             
             [out,errpipe] = p.communicate()
 
-            _out = str(out).split("\n")
-
+            if six.PY2:
+                _out = str(out).split("\n")
+            else:
+                _out = str(out).split("\\n")
+            
             for line in _out[::-1]:
                 if line.lstrip().startswith('computation time:'):
                     try:
                         r.runtime = float(line.split(":")[1].replace("s",""))
                     except:
                         r.runtime = 0.0
+            
             if printout == 1: 
                 print (out)
             else:
@@ -1317,6 +1321,9 @@ class kat(object):
 
             rtn = [r]
             
+            if sys.version > '3':
+                long = int
+            
             if self.__time_code:
                 perffile = open(root[0] + ".perf",'r')
                 
diff --git a/pykat/optics/maps.py b/pykat/optics/maps.py
index cfea9374bb210d23c449aacc38b78a52509ca47d..07fd5b0fac447a0438a58abcb333c27cd8a5f827 100644
--- a/pykat/optics/maps.py
+++ b/pykat/optics/maps.py
@@ -577,7 +577,7 @@ def read_map(filename):
         f.readline()
         name = f.readline().split(':')[1].strip()
         maptype = f.readline().split(':')[1].strip()
-        size = tuple(map(lambda x: int(x), f.readline().split(':')[1].strip().split()))
+        size = tuple(map(lambda x: float(x), f.readline().split(':')[1].strip().split()))
         center = tuple(map(lambda x: float(x), f.readline().split(':')[1].strip().split()))
         step = tuple(map(lambda x: float(x), f.readline().split(':')[1].strip().split()))
         scaling = float(f.readline().split(':')[1].strip())
diff --git a/pykat/optics/romhom.py b/pykat/optics/romhom.py
index 1f6a9e635f908e7d41b1384b6970a22921178aac..4048910836373ffd42952968442869c064a3fdad 100644
--- a/pykat/optics/romhom.py
+++ b/pykat/optics/romhom.py
@@ -686,7 +686,7 @@ def MakeROMFromHDF5(hdf5Filename, greedyFilename=None, EIFilename=None, tol=1e-1
         
         Names = range(NProcesses)
         procs = [Process(name="process_%i" % l[0], target=_worker_ROM, 
-                         args=(hdf5Filename, queue, l[1], l[2], l[3])) for l in itertools.izip(Names, result_err, result_idx, locks)]
+                         args=(hdf5Filename, queue, l[1], l[2], l[3])) for l in zip(Names, result_err, result_idx, locks)]
 
         max_res = np.zeros((NProcesses), dtype='d')
         max_idx = np.zeros((NProcesses), dtype='i')