Adding vm engine so that we can have complex selectors