Expose add_edge function