diff --git a/pykat/testing/test.py b/pykat/testing/test.py
index fbd4894c84d9c75aef79bc9d3b9a1fa43ae3a219..d6a7d0ed0b660814cd232446488132f10d445134 100644
--- a/pykat/testing/test.py
+++ b/pykat/testing/test.py
@@ -230,9 +230,7 @@ class FinesseTestProcess(Thread):
                 else:
                     try:
                         start = time.time()
-                        
-                        print "running", kat, FINESSE_EXE
-                        
+                                                
                         out,err = utils.runcmd([FINESSE_EXE, "--noheader", kat], cwd=SUITE_PATH)
                         
                         OUT_FILE = os.path.join(SUITE_PATH,basename + ".out")
diff --git a/pykat/testing/web/templates/finesse_test_view.html b/pykat/testing/web/templates/finesse_test_view.html
index 23e7d388e39084d2cf6c4d4954cc82d26784f612..738e26e06c540718f9ed09ef17e80119e22015e5 100644
--- a/pykat/testing/web/templates/finesse_test_view.html
+++ b/pykat/testing/web/templates/finesse_test_view.html
@@ -23,7 +23,7 @@
                 <li>{{ suite }}</li>
                 <ul>
                     {% for item in kats[suite] %}
-                    <li><span style="display:inline-block;width: 300px">{{item[0]}}</span>Max rel diff = {{item[1]}}</li>
+                    <li><span style="display:inline-block;width: 300px">{{item[0]}}</span><a href="/finesse/view/{{view_test_id}}/diff/{{suite}}/{{item[0]}}">View Diff</a> &nbsp; Max rel diff = {{item[1]}}</li>
                     {% if item[2][0] != "" %}
                     <ul>
                         <li>stdout: <pre>{{item[2][0]}}</pre></li>
diff --git a/pykat/testing/web/web_interface.py b/pykat/testing/web/web_interface.py
index 8e78996d9dc024caa01840d06cc1ec759e4d2ae4..929f244e7ef9d6bbb3d59b990406c3d345215658 100644
--- a/pykat/testing/web/web_interface.py
+++ b/pykat/testing/web/web_interface.py
@@ -15,7 +15,7 @@ from pykat.testing.web import app
 from hashlib import md5
 from CodernityDB.database_thread_safe import ThreadSafeDatabase
 from CodernityDB.database import RecordNotFound
-
+import numpy as np
 from pykat.testing.web.database_indices import TestIDIndex, SrcCommitIndex, KatTestIndex
 
 import os, sys, traceback
@@ -533,7 +533,31 @@ def finesse_view_make(view_test_id, log):
         
     else:
         return ""
+
+@app.route('/finesse/view/<view_test_id>/diff/<suite>/<kat>/', methods=["GET"])
+def finesse_view_diff(view_test_id, suite, kat):
+    out = kat[:-4] + ".out"
+    REF_FILE = os.path.join(app.instance_path,"finesse_test","kat_test",suite,"reference",out)
+    OUT_FILE = os.path.join(app.instance_path,"tests",str(view_test_id),"outputs",suite,out)
+            
+    if not os.path.exists(REF_FILE):
+        raise Exception("Reference file " + REF_FILE + " not found")
+    
+    if not os.path.exists(OUT_FILE):
+        raise Exception("Output file " + OUT_FILE + " not found")
         
+    #ref_data = np.loadtxt(REF_FILE)
+    #out_data = np.loadtxt(OUT_FILE)
+    
+    import difflib
+    
+    ref = open(REF_FILE, 'U').readlines()
+    out = open(OUT_FILE, 'U').readlines()
+    
+    
+    return difflib.HtmlDiff().make_file(ref,out,REF_FILE,OUT_FILE)
+                            
+    
 @app.route('/finesse/view/<view_test_id>/', methods=["GET"])
 def finesse_view(view_test_id):