added support for canonicals