BROKEN - refactoring into separate compiler and vm.