Implementing isReachable

Bug
- isReachable will only follow the path of the first edge, it will not
consider if a node has mutiple edges