changed array-map to  LinkedHashMap because clojure transform the PersistentArrayMap into PersistentHashMap after using assoc a while ....