Use a list of dictionaries to preserve order