added * for add_edge