refactor parseTemplate