add custom command elsewhere;
cached command selection;
update vm interface;