model-side templates