working version of UpstreamObs()