Add GraphPath and clean code