updated example to use computed observables