refactor for templates