view model separate totally