           aaData: dim.top(Infinity),
           bDestroy: true,
           aoColumns: cols
+      else
+        datatable = $(selector).dataTable()
+
+      reloadTable = () ->
+        alldata = dim.top(Infinity)
+        datatable.fnClearTable()
+        datatable.fnAddData(alldata)
+        datatable.fnDraw()
 
       dc.chartRegistry.list().forEach (chart) ->
         chart.on "filtered", () ->
           dc.events.trigger () ->
-            reloadTable(datatable,dim)
-
-    initMap = (container, dim) ->
-      # Have we already initialized the map?
-      if !map
-        id = "regionalDashMap"
+            reloadTable()
+
+      if exists
+        reloadTable()
+
+    # controller level map object
+    map = null
+
+    loadMap = (container, dim) ->
+      id = "regionalDashMap"
+
+      if not $('#' + id).length
         e = $('<div id="' + id + '"></div>')
         $(container).append(e)
 


        dc.dataCount(".dc-data-count").dimension(xfilter).group(all)

        initDataTable("#dc-data-table", wards)
        initMap("#wpLocations", wards)

        dc.renderAll()


    dimensions = []
    xfilter = null
    popData = null

    # what value to use for year 0
    YEAR_ZERO=1950
