vjr compiler refactoring