modularize template