added ReactiveViewModel