viewmodel cleanup