Canonicalization API tweaks

issue #264

I ran test_canonical.py and it still passes
why not just pass in the record list itself? Do the selecting outside of the function.