write your own VMM