diff --git a/ess/TraceWin.py b/ess/TraceWin.py
index 73f92683aa6b0fc9f0b6ca15e2c189398ff32d63..c997c6c3635527a5ac5c6864d301b0e4ec11f14d 100644
--- a/ess/TraceWin.py
+++ b/ess/TraceWin.py
@@ -310,7 +310,7 @@ class remote_data_merger:
 
             return data
 
-class partran:
+class partran(dict):
     '''
     Read partran1.out files..
     '''
@@ -325,20 +325,11 @@ class partran:
         stream=file(self.filename,'r')
         for i in xrange(10):
             line=stream.readline()
-        self.columns=['NUM']+line.split()
+        self.columns=['NUM']+line.split()[1:]
         self.data=numpy.loadtxt(stream)
 
-        # seems we have some inconsistencies with columns...
-        #self._dict={}
-        #print self.data.shape,len(self.columns)
-        #for i in xrange(len(self.columns)):
-        #    self._dict[self.columns[i]]=self.data[:,i]
-
-    def get(self,column):
-        if column not in self.columns:
-            print "WARNING, could not find",column
-            return
-        i=self.columns.index(column)
-        return self.data[:,i]
-
+        self._dict={}
+        print self.data.shape,len(self.columns)
+        for i in xrange(len(self.columns)):
+            self[self.columns[i]]=self.data[:,i]