Switching to OrderedDict to greater utility
Switch to using OrderedDicts
Key normalisation function is now configurable