- use an OrderedDict here so that tests are more deterministic