began with templates, continued with models