initial implementation of new template