         :else
         (get-in word '(:italiano))))
 
-     ;; irregular imperfetto sense:
+     ;; irregular imperfect sense:
      ;; 1) use irregular based on number and person.
      (and
-      (= (get-in word '(:infl)) :imperfetto)
+      (= (get-in word '(:infl)) :imperfect)
       (= :sing (get-in word '(:agr :number)))
       (= :1st (get-in word '(:agr :person)))
-      (string? (get-in word '(:imperfetto :1sing))))
-     (get-in word '(:imperfetto :1sing))
-
-     (and
-      (= (get-in word '(:infl)) :imperfetto)
+      (string? (get-in word '(:imperfect :1sing))))
+     (get-in word '(:imperfect :1sing))
+
+     (and
+      (= (get-in word '(:infl)) :imperfect)
       (= :sing (get-in word '(:agr :number)))
       (= :2nd (get-in word '(:agr :person)))
-      (string? (get-in word '(:imperfetto :2sing))))
-     (get-in word '(:imperfetto :2sing))
-
-     (and
-      (= (get-in word '(:infl)) :imperfetto)
+      (string? (get-in word '(:imperfect :2sing))))
+     (get-in word '(:imperfect :2sing))
+
+     (and
+      (= (get-in word '(:infl)) :imperfect)
       (= :sing (get-in word '(:agr :number)))
       (= :3rd (get-in word '(:agr :person)))
-      (string? (get-in word '(:imperfetto :3sing))))
-     (get-in word '(:imperfetto :3sing))
-
-     (and
-      (= (get-in word '(:infl)) :imperfetto)
+      (string? (get-in word '(:imperfect :3sing))))
+     (get-in word '(:imperfect :3sing))
+
+     (and
+      (= (get-in word '(:infl)) :imperfect)
       (= :plur (get-in word '(:agr :number)))
       (= :1st (get-in word '(:agr :person)))
-      (string? (get-in word '(:imperfetto :1plur))))
-     (get-in word '(:imperfetto :1plur))
-     (and
-      (= (get-in word '(:infl)) :imperfetto)
+      (string? (get-in word '(:imperfect :1plur))))
+     (get-in word '(:imperfect :1plur))
+     (and
+      (= (get-in word '(:infl)) :imperfect)
       (= :plur (get-in word '(:agr :number)))
       (= :2nd (get-in word '(:agr :person)))
-      (string? (get-in word '(:imperfetto :2plur))))
-     (get-in word '(:imperfetto :2plur))
-     (and
-      (= (get-in word '(:infl)) :imperfetto)
+      (string? (get-in word '(:imperfect :2plur))))
+     (get-in word '(:imperfect :2plur))
+     (and
+      (= (get-in word '(:infl)) :imperfect)
       (= :plur (get-in word '(:agr :number)))
       (= :3rd (get-in word '(:agr :person)))
-      (string? (get-in word '(:imperfetto :3plur))))
-     (get-in word '(:imperfetto :3plur))
-
-     ;; regular imperfetto sense
-     (and (= (get-in word '(:infl)) :imperfetto)
+      (string? (get-in word '(:imperfect :3plur))))
+     (get-in word '(:imperfect :3plur))
+
+     ;; regular imperfect sense
+     (and (= (get-in word '(:infl)) :imperfect)
           (get-in word '(:italiano)))
      (let [infinitive (get-in word '(:italiano))
            ;; e.g.: lavarsi => lavare


     ;; regular inflection of conditional
     (and (= (get-in word '(:infl)) :conditional)
          (string? (get-in word '(:futuro-stem) :none)))
     (let [stem (get-in word '(:futuro-stem))
           person (get-in word '(:agr :person))
           number (get-in word '(:agr :number))
           drop-e (get-in word '(:italiano :drop-e) false)]

     true
     infinitive)))

(defn stem-per-imperfect [infinitive]
  "_infinitive_ should be a string (italian verb infinitive form)"
  ;; e.g.: lavarsi => lavare
  (let [infinitive (if (re-find #"[aei]rsi$" infinitive)
