improve template by using template inheritance
Merge branch 'dev'