#8 Canonizer refactoring