add isReachable()