Use LinkedHashMap to preserve row order