reachability and minor adjustments
removed isReachable boolean