forgot to add E extends Edge to AMInterface