workspace view model