change canonical to be configurable