avoid double-iteration over engine IDs in get_dict