canonical form outputs need testing