allow self-looping edges.