expanded canon() to have better template argument handling
fixed a couple of out of date links in the readme.