handling reachability observer properly