correct toString methods to use actual field names
add MapEdge class