add make_source_observable