reversed but including reachability observer