Rebuild with vue.js
Refactoring