add view model and some view service