First stab at canonical

Seems to work.