update view model create logic and how to use