refactoring: remove templates