add template pattern
Merge branch 'feature-temple' into develop