helper classes for canonicalization