Cleaned and without ImplementPropertyChanged