renaming/refactoring and adding templates