add has_vm?