change edge representation to struct edge