alter vm functionality

Ugly merge... I think because we had been merging out of TWC branches in our fork.  We want to keep the root/master (develop) in sync with greese:develop, so sorry for the ugliness.  I believe all the "changes" from Sept 17 - Sept 26 have already been accepted in other PRs, but git doesn't recognize that because of the merges from those branches into develop.  The only new change is from today regarding altering VMs.