rewrite with vueify