require parameters to be symmetric