v-component & v-with refactor
clean up