add support for generating canonical maps