viewModel in constructor