WIP -- fix things up but canonicalization is a killer