nit: use `LinkedHashMap`