with Observable.Defer