path canonicalization