why `getCanonicalName` ? I think `getName` should work just as fine here?