update to current state

added canonicalizer