adapt to new observables API