diff --git a/pyglance/glance/gui_statsprovider.py b/pyglance/glance/gui_statsprovider.py
index b58c72b4cbdd10326a859c9e6153aada2411485e..c15021e2e1e97619abcc79544fdbd95aff7a4163 100644
--- a/pyglance/glance/gui_statsprovider.py
+++ b/pyglance/glance/gui_statsprovider.py
@@ -101,10 +101,12 @@ class GlanceGUIStats (object) :
                                                                  epsilon=self.dataModel.getEpsilon(),
                                                                  epsilon_percent=self.dataModel.getEpsilonPercent())
         # package up the data for the report
-        tempInfo = { constants.VARIABLE_TECH_NAME_KEY:   aVarName,
-                     constants.VARIABLE_B_TECH_NAME_KEY: bVarName }
-        kwargs   = { constants.RUN_INFO_DICT_KEY:        tempInfo,
-                     constants.STATS_INFO_DICT_KEY:      tempAnalysis.dictionary_form() }
+        tempStatsDict = tempAnalysis.dictionary_form()
+        tempInfo = { constants.VARIABLE_TECH_NAME_KEY:      aVarName,
+                     constants.VARIABLE_B_TECH_NAME_KEY:    bVarName }
+        kwargs   = { constants.RUN_INFO_DICT_KEY:           tempInfo,
+                     constants.STATS_INFO_DICT_KEY:         tempStatsDict,
+                     constants.GROUPED_STATS_INFO_DICT_KEY: stats.group_stats_by_file(tempStatsDict), }
         
         # use a mako template to render an html verion of the stats for display
         templateLookup = TemplateLookup(directories=[resource_filename(__name__, ".")])
@@ -125,9 +127,12 @@ class GlanceGUIStats (object) :
         # do the statistical analysis and collect the data that will be needed to render it nicely
         tempAnalysis = stats.StatisticalInspectionAnalysis.withDataObjects(dataObject)
         # package up the data for the report
+        tempStatsDict = tempAnalysis.dictionary_form()
         tempInfo = { constants.VARIABLE_TECH_NAME_KEY: varName }
         kwargs   = { constants.RUN_INFO_DICT_KEY:      tempInfo,
-                     constants.STATS_INFO_DICT_KEY:    tempAnalysis.dictionary_form() }
+                     constants.STATS_INFO_DICT_KEY:    tempStatsDict,
+                     #constants.GROUPED_STATS_INFO_DICT_KEY: stats.group_stats_by_file(tempStatsDict), # FUTURE, we may want to do this some day, but it looks awful now
+                     }
 
         # use a mako template to render an html verion of the stats for display
         templateLookup = TemplateLookup(directories=[resource_filename(__name__, ".")])
diff --git a/pyglance/glance/report.py b/pyglance/glance/report.py
index d3cea10e6333eee52a402c6f3e342343e73851c6..429665b59204fb2702b51dc5c1ec04cdaed37134 100644
--- a/pyglance/glance/report.py
+++ b/pyglance/glance/report.py
@@ -18,6 +18,7 @@ import shutil as shutil
 import locale
 
 from glance.constants import *
+import glance.stats as stats
 
 LOG = logging.getLogger(__name__)
 
@@ -212,49 +213,6 @@ def generate_and_save_doc_page(definitions, outputPath) :
     
     return
 
-def group_stats_by_file(statGroups):
-    """ Group statistics by file
-
-    Where there are pairs of statistics in the form *_[ab] or [ab]_*, group
-    them together. So given
-
-    { 'General Statistics': {
-            'min_a': -1,
-            'min_b': -10
-            'epsilon': 3
-        }
-    }
-
-    returns
-
-    { 'General Statistics': {
-            'min': { 'a': -1. b: -10 },
-            'epsilon': { 'both':3 }
-        }
-    }
-
-    """
-
-    def id_file(varname):
-        if varname[1] == "_":
-            return (varname[2:], varname[0])
-        if varname[-2] == "_":
-            return (varname[:-2], varname[-1])
-        return (varname, "both")
-
-    ret = {}
-
-    for groupname, group in statGroups.items():
-        ret[groupname] = {}
-        for var, val in group.items():
-            justvar, file = id_file(var)
-            #sys.stderr.write("{0} -> {1} {2}\n".format(var, justvar, file))
-            if justvar not in ret[groupname]:
-                ret[groupname][justvar] = { 'a':'', 'b':'', 'both':''}
-            ret[groupname][justvar][file] = val
-
-    return ret
-
 def generate_and_save_concise_report(outputPath, reportFileName,
                                      summaryInfo,):
     """
@@ -460,7 +418,7 @@ def generate_and_save_variable_report(files,
     runInfo = generalRunInfo.copy()
     runInfo.update(variableRunInfo)
 
-    groupedStats = group_stats_by_file(statGroups)
+    groupedStats = stats.group_stats_by_file(statGroups)
     
     # put all the info together in the kwargs
     kwargs = {
diff --git a/pyglance/glance/stats.py b/pyglance/glance/stats.py
index ee3b5b459a3d8100eca0446b33c24d9e39046e42..04505d55bb3746f7417dd278cd1b5ee75ce57dd0 100644
--- a/pyglance/glance/stats.py
+++ b/pyglance/glance/stats.py
@@ -1112,6 +1112,49 @@ def get_comparison_doc_string ( ) :
 def get_inspection_doc_string ( ) :
     return '\n'.join( '%s:\n    %s' % x for x in sorted(list(StatisticalInspectionAnalysis.doc_strings().items())) ) + '\n'
 
+def group_stats_by_file(statGroups):
+    """ Group statistics by file
+
+    Where there are pairs of statistics in the form *_[ab] or [ab]_*, group
+    them together. So given
+
+    { 'General Statistics': {
+            'min_a': -1,
+            'min_b': -10
+            'epsilon': 3
+        }
+    }
+
+    returns
+
+    { 'General Statistics': {
+            'min': { 'a': -1. b: -10 },
+            'epsilon': { 'both':3 }
+        }
+    }
+
+    """
+
+    def id_file(varname):
+        if varname[1] == "_":
+            return (varname[2:], varname[0])
+        if varname[-2] == "_":
+            return (varname[:-2], varname[-1])
+        return (varname, "both")
+
+    ret = {}
+
+    for groupname, group in statGroups.items():
+        ret[groupname] = {}
+        for var, val in group.items():
+            justvar, file = id_file(var)
+            #sys.stderr.write("{0} -> {1} {2}\n".format(var, justvar, file))
+            if justvar not in ret[groupname]:
+                ret[groupname][justvar] = { 'a':'', 'b':'', 'both':''}
+            ret[groupname][justvar][file] = val
+
+    return ret
+
 if __name__=='__main__':
     import doctest
     doctest.testmod()