view model generator