adding diagonalization conventions