refactor and template