added function ...alter_edge