Create ViewModel layer