Separated vm.rb into three separate files