Adding server side validation and other fixes to ViewModel