ViewModels reworking