Adding error-checking and ensuring symmetric initiators in the undirected case