canonical form works??!