implemented mgonto's suggestion of making canonical id storage an optional config switch