use option() instead of M_vm