diff --git a/pykat/finesse.py b/pykat/finesse.py
index 05f75303cdbb9ba0759c651709cbc85167aaa353..a7b85cf477eee8b0efc93ed453090b17702478f1 100644
--- a/pykat/finesse.py
+++ b/pykat/finesse.py
@@ -69,7 +69,7 @@ class katRun(object):
         
 class kat(object):                    
         
-    def __init__(self, kat_file=None, kat_code=None, katdir="", katname=""):
+    def __init__(self, kat_file=None, kat_code=None, katdir="", katname="", tempdir="", tempname=""):
         
         self.scene = None # scene object for GUI
         self.__components = {}  # dictionary of optical components      
@@ -80,6 +80,8 @@ class kat(object):
         self.nodes = NodeNetwork(self)  
         self.__katdir = katdir
         self.__katname = katname
+        self.__tempdir = tempdir
+        self.__tempname = tempname
         self.pykatgui = None
         # Various         
         self.__phase = None
@@ -170,6 +172,8 @@ class kat(object):
                     self.add(pykat.components.laser.parseFinesseText(line))
                 elif(first == "xaxis" or first == "x2axis" or first == "xaxis*" or first == "x2axis*"):
                     self.add(pykat.commands.xaxis.parseFinesseText(line))
+                    #elif(first[0:2] == "pd"):
+                    #self.add(pykat.detectors.photodiode.parseFinesseText(line))
                 else:
                     print "Parsing `{0}` into pykat object not implemented yet, added as extra line.".format(line)
                     self.__extra_lines.append(line + "\n")
@@ -209,7 +213,12 @@ class kat(object):
                 raise MissingFinesse()
             
             # create a kat file which we will write the script into
-            katfile = tempfile.NamedTemporaryFile(suffix=".kat")
+            if self.__tempname == None:
+                katfile = tempfile.NamedTemporaryFile(suffix=".kat", dir=self.__tempdir)
+            else:
+                filepath =os.path.join(self.__tempdir, self.__tempname+".kat" )
+                katfile = open( filepath, 'w' ) 
+                
             katfile.writelines(r.katScript)
             katfile.flush()
             
@@ -219,6 +228,7 @@ class kat(object):
                 cmd.append('--no-backspace')
 
             cmd.append(katfile.name)
+            print cmd
             p=subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
             err = ""