looks like we'll need a templating engine...