canonicalization structure