diff --git a/Links.md b/Links.md
index afa28a7..b376fef 100644
--- a/Links.md
+++ b/Links.md
@@ -2,19 +2,19 @@
* `cg3/`
* [functions.cg3](src-cg3-functions.cg3.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/cg3/functions.cg3))
* `fst/`
- * `affixes/`
- * [nouns.lexc](src-fst-affixes-nouns.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/nouns.lexc))
- * [symbols.lexc](src-fst-affixes-symbols.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/symbols.lexc))
- * [phonology.twolc](src-fst-phonology.twolc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonology.twolc))
- * [root.lexc](src-fst-root.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/root.lexc))
- * `phonetics/`
- * [txt2ipa.xfscript](src-phonetics-txt2ipa.xfscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/phonetics/txt2ipa.xfscript))
- * `transcriptions/`
- * [transcriptor-abbrevs2text.lexc](src-transcriptions-transcriptor-abbrevs2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-abbrevs2text.lexc))
- * [transcriptor-numbers-digit2text.lexc](src-transcriptions-transcriptor-numbers-digit2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-numbers-digit2text.lexc))
+ * `morphology/`
+ * `affixes/`
+ * [phonology.twolc](src-fst-morphology-phonology.twolc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/phonology.twolc))
+ * [root.lexc](src-fst-morphology-root.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/root.lexc))
+ * `phonetics/`
+ * [txt2ipa.xfscript](src-fst-phonetics-txt2ipa.xfscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonetics/txt2ipa.xfscript))
+ * `transcriptions/`
+ * [transcriptor-abbrevs2text.lexc](src-fst-transcriptions-transcriptor-abbrevs2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-abbrevs2text.lexc))
+ * [transcriptor-numbers-digit2text.lexc](src-fst-transcriptions-transcriptor-numbers-digit2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-numbers-digit2text.lexc))
* `tools/`
* `grammarcheckers/`
* [grammarchecker.cg3](tools-grammarcheckers-grammarchecker.cg3.html) ([src](https://github.com/giellalt/lang-ara/blob/main/tools/grammarcheckers/grammarchecker.cg3))
+ * `/`
* `tokenisers/`
* [tokeniser-disamb-gt-desc.pmscript](tools-tokenisers-tokeniser-disamb-gt-desc.pmscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/tools/tokenisers/tokeniser-disamb-gt-desc.pmscript))
* [tokeniser-gramcheck-gt-desc.pmscript](tools-tokenisers-tokeniser-gramcheck-gt-desc.pmscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/tools/tokenisers/tokeniser-gramcheck-gt-desc.pmscript))
diff --git a/Makefile.in b/Makefile.in
index 3cabc4a..7f1cc1a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -936,7 +936,7 @@ regenerate-markdown: generate-markdown
# Generate endpoint json file for shield.io lemma count badge.
# Only to be stored in the gh-pages branch, ignored in main.
-$(srcdir)/lemmacount.json: $(top_srcdir)/src/fst/stems/*.lexc
+$(srcdir)/lemmacount.json: $(top_srcdir)/src/fst/morphology/stems/*.lexc
$(AM_V_GEN)$(GTCORE)/scripts/make-lemmacount.json.sh $(abs_top_srcdir) > $@
# Generate a maturity.json file as endpoint for the maturity badge.
diff --git a/ara.md b/ara.md
index 41c52f0..68ce74c 100644
--- a/ara.md
+++ b/ara.md
@@ -174,7 +174,7 @@ These were the set types.
* * *
-This (part of) documentation was generated from [src/fst/affixes/nouns.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/nouns.lexc)
+This (part of) documentation was generated from [src/fst/morphology/affixes/nouns.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/affixes/nouns.lexc)
---
@@ -183,7 +183,7 @@ These were the set types.
* * *
-This (part of) documentation was generated from [src/fst/affixes/symbols.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/symbols.lexc)
+This (part of) documentation was generated from [src/fst/morphology/affixes/symbols.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/affixes/symbols.lexc)
---
@@ -204,7 +204,7 @@ The Arabic morphophonological/twolc rules file !
* * *
-This (part of) documentation was generated from [src/fst/phonology.twolc](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonology.twolc)
+This (part of) documentation was generated from [src/fst/morphology/phonology.twolc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/phonology.twolc)
---
@@ -225,7 +225,7 @@ For verbs:
* * *
-This (part of) documentation was generated from [src/fst/root.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/root.lexc)
+This (part of) documentation was generated from [src/fst/morphology/root.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/root.lexc)
---
@@ -392,7 +392,7 @@ retracted tongue root _q
* * *
-This (part of) documentation was generated from [src/phonetics/txt2ipa.xfscript](https://github.com/giellalt/lang-ara/blob/main/src/phonetics/txt2ipa.xfscript)
+This (part of) documentation was generated from [src/fst/phonetics/txt2ipa.xfscript](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonetics/txt2ipa.xfscript)
---
@@ -412,7 +412,7 @@ For example:
* * *
-This (part of) documentation was generated from [src/transcriptions/transcriptor-abbrevs2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-abbrevs2text.lexc)
+This (part of) documentation was generated from [src/fst/transcriptions/transcriptor-abbrevs2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-abbrevs2text.lexc)
---
@@ -426,7 +426,7 @@ For example:
* * *
-This (part of) documentation was generated from [src/transcriptions/transcriptor-numbers-digit2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-numbers-digit2text.lexc)
+This (part of) documentation was generated from [src/fst/transcriptions/transcriptor-numbers-digit2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-numbers-digit2text.lexc)
---
diff --git a/index.md b/index.md
index 56396bc..2955c19 100644
--- a/index.md
+++ b/index.md
@@ -20,19 +20,19 @@ Below is an autogenerated list of documentation pages built from structured comm
* `cg3/`
* [functions.cg3](src-cg3-functions.cg3.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/cg3/functions.cg3))
* `fst/`
- * `affixes/`
- * [nouns.lexc](src-fst-affixes-nouns.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/nouns.lexc))
- * [symbols.lexc](src-fst-affixes-symbols.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/symbols.lexc))
- * [phonology.twolc](src-fst-phonology.twolc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonology.twolc))
- * [root.lexc](src-fst-root.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/root.lexc))
- * `phonetics/`
- * [txt2ipa.xfscript](src-phonetics-txt2ipa.xfscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/phonetics/txt2ipa.xfscript))
- * `transcriptions/`
- * [transcriptor-abbrevs2text.lexc](src-transcriptions-transcriptor-abbrevs2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-abbrevs2text.lexc))
- * [transcriptor-numbers-digit2text.lexc](src-transcriptions-transcriptor-numbers-digit2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-numbers-digit2text.lexc))
+ * `morphology/`
+ * `affixes/`
+ * [phonology.twolc](src-fst-morphology-phonology.twolc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/phonology.twolc))
+ * [root.lexc](src-fst-morphology-root.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/root.lexc))
+ * `phonetics/`
+ * [txt2ipa.xfscript](src-fst-phonetics-txt2ipa.xfscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonetics/txt2ipa.xfscript))
+ * `transcriptions/`
+ * [transcriptor-abbrevs2text.lexc](src-fst-transcriptions-transcriptor-abbrevs2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-abbrevs2text.lexc))
+ * [transcriptor-numbers-digit2text.lexc](src-fst-transcriptions-transcriptor-numbers-digit2text.lexc.html) ([src](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-numbers-digit2text.lexc))
* `tools/`
* `grammarcheckers/`
* [grammarchecker.cg3](tools-grammarcheckers-grammarchecker.cg3.html) ([src](https://github.com/giellalt/lang-ara/blob/main/tools/grammarcheckers/grammarchecker.cg3))
+ * `/`
* `tokenisers/`
* [tokeniser-disamb-gt-desc.pmscript](tools-tokenisers-tokeniser-disamb-gt-desc.pmscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/tools/tokenisers/tokeniser-disamb-gt-desc.pmscript))
* [tokeniser-gramcheck-gt-desc.pmscript](tools-tokenisers-tokeniser-gramcheck-gt-desc.pmscript.html) ([src](https://github.com/giellalt/lang-ara/blob/main/tools/tokenisers/tokeniser-gramcheck-gt-desc.pmscript))
diff --git a/lemmacount.json b/lemmacount.json
index 961396c..f6975c3 100644
--- a/lemmacount.json
+++ b/lemmacount.json
@@ -1 +1 @@
-{ "schemaVersion": 1, "label": "Lemmas", "message": "5", "color": "black" }
+{ "schemaVersion": 1, "label": "Lemmas", "message": "10", "color": "black" }
diff --git a/src-fst-affixes-nouns.lexc.md b/src-fst-affixes-nouns.lexc.md
deleted file mode 100644
index 21e4553..0000000
--- a/src-fst-affixes-nouns.lexc.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Nouns
-
-* * *
-
-This (part of) documentation was generated from [src/fst/affixes/nouns.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/nouns.lexc)
-
----
-
diff --git a/src-fst-affixes-symbols.lexc.md b/src-fst-affixes-symbols.lexc.md
deleted file mode 100644
index 97e3f94..0000000
--- a/src-fst-affixes-symbols.lexc.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# Symbol affixes
-
-* * *
-
-This (part of) documentation was generated from [src/fst/affixes/symbols.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/affixes/symbols.lexc)
-
----
-
diff --git a/src-fst-morphology-affixes-nouns.lexc.md b/src-fst-morphology-affixes-nouns.lexc.md
new file mode 100644
index 0000000..dfed4ea
--- /dev/null
+++ b/src-fst-morphology-affixes-nouns.lexc.md
@@ -0,0 +1,8 @@
+# Nouns
+
+* * *
+
+This (part of) documentation was generated from [src/fst/morphology/affixes/nouns.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/affixes/nouns.lexc)
+
+---
+
diff --git a/src-fst-morphology-affixes-symbols.lexc.md b/src-fst-morphology-affixes-symbols.lexc.md
new file mode 100644
index 0000000..201c4c4
--- /dev/null
+++ b/src-fst-morphology-affixes-symbols.lexc.md
@@ -0,0 +1,9 @@
+
+# Symbol affixes
+
+* * *
+
+This (part of) documentation was generated from [src/fst/morphology/affixes/symbols.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/affixes/symbols.lexc)
+
+---
+
diff --git a/src-fst-phonology.twolc.md b/src-fst-morphology-phonology.twolc.md
similarity index 70%
rename from src-fst-phonology.twolc.md
rename to src-fst-morphology-phonology.twolc.md
index 54184df..5797cdd 100644
--- a/src-fst-phonology.twolc.md
+++ b/src-fst-morphology-phonology.twolc.md
@@ -15,7 +15,7 @@ The Arabic morphophonological/twolc rules file !
* * *
-This (part of) documentation was generated from [src/fst/phonology.twolc](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonology.twolc)
+This (part of) documentation was generated from [src/fst/morphology/phonology.twolc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/phonology.twolc)
---
diff --git a/src-fst-root.lexc.md b/src-fst-morphology-root.lexc.md
similarity index 82%
rename from src-fst-root.lexc.md
rename to src-fst-morphology-root.lexc.md
index 2dda6a5..47c5399 100644
--- a/src-fst-root.lexc.md
+++ b/src-fst-morphology-root.lexc.md
@@ -15,7 +15,7 @@ For verbs:
* * *
-This (part of) documentation was generated from [src/fst/root.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/root.lexc)
+This (part of) documentation was generated from [src/fst/morphology/root.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/morphology/root.lexc)
---
diff --git a/src-phonetics-txt2ipa.xfscript.md b/src-fst-phonetics-txt2ipa.xfscript.md
similarity index 95%
rename from src-phonetics-txt2ipa.xfscript.md
rename to src-fst-phonetics-txt2ipa.xfscript.md
index 7bd9d61..67146ae 100644
--- a/src-phonetics-txt2ipa.xfscript.md
+++ b/src-fst-phonetics-txt2ipa.xfscript.md
@@ -161,7 +161,7 @@ retracted tongue root _q
* * *
-This (part of) documentation was generated from [src/phonetics/txt2ipa.xfscript](https://github.com/giellalt/lang-ara/blob/main/src/phonetics/txt2ipa.xfscript)
+This (part of) documentation was generated from [src/fst/phonetics/txt2ipa.xfscript](https://github.com/giellalt/lang-ara/blob/main/src/fst/phonetics/txt2ipa.xfscript)
---
diff --git a/src-transcriptions-transcriptor-abbrevs2text.lexc.md b/src-fst-transcriptions-transcriptor-abbrevs2text.lexc.md
similarity index 53%
rename from src-transcriptions-transcriptor-abbrevs2text.lexc.md
rename to src-fst-transcriptions-transcriptor-abbrevs2text.lexc.md
index cf2521b..15f34b1 100644
--- a/src-transcriptions-transcriptor-abbrevs2text.lexc.md
+++ b/src-fst-transcriptions-transcriptor-abbrevs2text.lexc.md
@@ -14,7 +14,7 @@ For example:
* * *
-This (part of) documentation was generated from [src/transcriptions/transcriptor-abbrevs2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-abbrevs2text.lexc)
+This (part of) documentation was generated from [src/fst/transcriptions/transcriptor-abbrevs2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-abbrevs2text.lexc)
---
diff --git a/src-fst-transcriptions-transcriptor-numbers-digit2text.lexc.md b/src-fst-transcriptions-transcriptor-numbers-digit2text.lexc.md
new file mode 100644
index 0000000..cedba43
--- /dev/null
+++ b/src-fst-transcriptions-transcriptor-numbers-digit2text.lexc.md
@@ -0,0 +1,14 @@
+
+
+% komma% :, Root ;
+% tjuohkkis% :%. Root ;
+% kolon% :%: Root ;
+% sárggis% :%- Root ;
+% násti% :%* Root ;
+
+* * *
+
+This (part of) documentation was generated from [src/fst/transcriptions/transcriptor-numbers-digit2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/fst/transcriptions/transcriptor-numbers-digit2text.lexc)
+
+---
+
diff --git a/src-transcriptions-transcriptor-numbers-digit2text.lexc.md b/src-transcriptions-transcriptor-numbers-digit2text.lexc.md
deleted file mode 100644
index 85a49f4..0000000
--- a/src-transcriptions-transcriptor-numbers-digit2text.lexc.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-% komma% :, Root ;
-% tjuohkkis% :%. Root ;
-% kolon% :%: Root ;
-% sárggis% :%- Root ;
-% násti% :%* Root ;
-
-* * *
-
-This (part of) documentation was generated from [src/transcriptions/transcriptor-numbers-digit2text.lexc](https://github.com/giellalt/lang-ara/blob/main/src/transcriptions/transcriptor-numbers-digit2text.lexc)
-
----
-