added ability to dispose ViewModels