added symmetry checking