         let wordModifiers = line =~ Regex.wordModifiers
         let conjugationOrDeclension = line =~ Regex.declension
         
-        let verbKeyword = "V"
-        let transitiveKeyword = "TRANS"
-        let intransitiveKeyword = "INTRANS"
-        let deponentKeyword = "DEP"
-        let impersonalKeyword = "IMPERS"
-        
-        let nounKeyword = "N"
-        let adjectiveKeyword = "ADJ"
-        let feminineKeyword = "F"
-        let masculineKeyword = "M"
-        let neuterKeyword = "N"
-        
-        let prepositionKeyword = "PREP"
-        let accusativeKeyword = "ACC"
-        
-        let interjectionKeyword = "INTERJ"
-        
-        
         
         //Verbs
-        if wordModifiers.contains(verbKeyword),
-           let conjugationText = conjugationOrDeclension.first,
-           let conjugation = getConjugation(from: conjugationText)
-        {
+        if wordModifiers.contains(Keywords.verb),
+           let conjugationText = conjugationOrDeclension.first
+        {
+            let conjugation = getConjugation(from: conjugationText)
             
-            if wordModifiers.contains(intransitiveKeyword)
+            if wordModifiers.contains(Keywords.intransitive)
             {
                 return WordType.Verb(conjugation, .Intransitive)
             }
-            else if wordModifiers.contains(transitiveKeyword)
+            else if wordModifiers.contains(Keywords.transitive)
             {
                 return WordType.Verb(conjugation, .Transitive)
             }
-            else if wordModifiers.contains(deponentKeyword)
+            else if wordModifiers.contains(Keywords.deponent)
             {
                 return WordType.Verb(conjugation, .Deponent)
             }
-            else if wordModifiers.contains(impersonalKeyword)
+            else if wordModifiers.contains(Keywords.impersonal)
             {
                 return WordType.Verb(conjugation, .Impersonal)
             }
             else
-            {
+            {   
                 LOG.warn("Undetected Verb Type: \(wordModifiers)")
             }
         }

            return WordType.Adjective
        }
        
        //Prepositions
        if wordModifiers.contains(prepositionKeyword),
           let declensionText = wordModifiers.second,
           let declension = getDeclension(fromPreposition: declensionText)
        {
            return WordType.Preposition(declension)
        }
        
        //Interjections
        if wordModifiers.contains(interjectionKeyword)
        {
            return WordType.Interjection
        }
        
        //Lastly, nouns
        if wordModifiers.contains(nounKeyword),
           let declensionText = conjugationOrDeclension.first,
           let declension = getDeclension(from: declensionText)
        {
            
            if wordModifiers.contains(masculineKeyword)
            {
                return WordType.Noun(declension, .Male)
            }
            else if wordModifiers.contains(feminineKeyword)
            {
                return WordType.Noun(declension, .Female)
            }
            else if wordModifiers.contains(neuterKeyword)
            {
                return WordType.Noun(declension, .Neuter)
            }

            }
        }
        
        print("Could not extract word: \(line)")
        
        return nil
    }
    
    func getConjugation(from text: String) -> Conjugation
    {
        switch text
        {
