c => vm => m => dto playing around with different ways to structure mvvm