MVVM infrastructure added