Take out defines and strctures into vm.h