Dev/canonical transform