adding different templates for testing + code refactoring