modernize submodules; for now, always use templateContent to get template.content.