add templates, data.js
refactor as templates