added OrderedDict for json so it doesnt keep modifying