viewmodels' separation