made referencer more OO, and added a feature to override specific canonical names.