dynamic templates for different models