made long methods clearer
Added working reachability