diff --git a/ess/TraceWin.py b/ess/TraceWin.py
index 2a26daad8502296dc6f08c9dec01c47d0886ad8f..cdd611c143915d3a4a80d9abe7808134225756df 100644
--- a/ess/TraceWin.py
+++ b/ess/TraceWin.py
@@ -256,8 +256,16 @@ class remote_data_merger:
         If filename is given, writes directly to output file.
 
         '''
-        data=[]
-        count=0
+
+        import numpy as np
+
+        h1=[]
+        h2=[]
+
+        d1=[]
+        d2=[]
+        d3=[]
+
         if self._files:
             for f in self._files:
                 string=file(f,'r').read()
@@ -267,13 +275,36 @@ class remote_data_merger:
 
                 thisdata=split[10].strip().split('\n')
 
-                if not data:
-                    data=thisdata
-                else:
-                    data.insert(1+count,thisdata[1])
-                    data.insert(10+2*count,thisdata[10])
-                    data.insert(11+3*count,thisdata[11])
-                count+=1
+                if not h1:
+                    h1=[thisdata[0]+" (std in paranthesis)"]
+                    h2=thisdata[2:10]
+                d1.append(thisdata[1].split())
+                d2.append(thisdata[10])
+                d3.append(thisdata[11])
+
+            # fix d1:
+            for i in xrange(len(d1)):
+                for j in xrange(len(d1[0])):
+                    d1[i][j]=float(d1[i][j])
+            d1=np.array(d1)
+            means=d1.mean(axis=0)
+            stds=d1.std(axis=0)
+            d1=[]
+            for i in xrange(len(stds)):
+                if stds[i]/means[i]<1e-10:
+                    stds[i]=0.0
+            for i in xrange(len(stds)):
+                # some small std are removed..
+                if stds[i]/means[i]>1e-8:
+                    print "FOUND"
+                    d1.append('%f(%f)' % (means[i],stds[i]))
+                    print d1
+                else: #error is 0
+                    d1.append(str(means[i]))
+            d1=[' '.join(d1)]
+
+            # create data:
+            data=h1+d1+h2+d2+d3
 
             if filename:
                 file(filename,'w').write('\n'.join(data))