implemented reachability