Add graph data structure and depth first seach