refactor compile priority order
v-if refactor + change to use childVM