   dpsirFilter = defaultDpsir if _.isEmpty(dpsirFilter)
 
   theThemes = null
-  Q.nsend(
-    Theme, 'find'
-  ).then((themes) ->
+  Promise.promisify(
+    Theme.find, Theme
+  )().then((themes) ->
     theThemes = themes
 
     if req.query?.dpsir

    ThemePresenter.populateIndicators(theThemes, filters)
  ).then(->

    # For each theme
    Q.nfcall(
      async.each, theThemes, (theme, callback) ->

        new ThemePresenter(theme).filterIndicatorsWithData().then(->
          # For each indicator of said theme
          Q.nfcall(
            async.each, theme.indicators, (indicator, cb) ->
              indicator.populatePage().then(->
                indicator.populateDescriptionFromPage()
              ).then(->
                cb(null)
              ).fail(cb)
          )
        ).then(->
          HeadlineService.populateNarrativeRecencyOfIndicators(theme.indicators)
        ).then(->
          callback()
        ).fail(callback)
    )
  ).then( ->


    ThemePresenter.populateIndicatorRecencyStats(theThemes)
    res.render "themes/index", themes: theThemes, dpsir: dpsirFilter

  ).catch((err)->
    console.error err
    console.error err.stack
    return res.send(500, "Error loading indicators")
  )

exports.show = (req, res) ->
