efficiency, async, avoid running templating engine when there is no data available