dynamically require tempaltes