make templates language-agnostic