refactor canonical_interests to move row processing out
make updating canonical a lot faster by skipping last step