added base class with INotifyPropertyChanged implementation