added reachability observer