think about the API for edges, write a bit