decided to use __getitem__ and OrderedDict