This module needs documentation.
Please document this module by describing its purpose and usage on the documentation page.

local conj = {}

local function add_asterisks(forms, data)
	for _, form in ipairs(forms) do
		for i, subform in ipairs(data.forms[form]) do
			data.forms[form][i] = "*" .. subform
		end
	end
end

conj["pp"] = {
	params = {
		[1] = {},
		[2] = {},
		[3] = {},
		[4] = {},
		["pres2sg"] = {},
		["pastpart"] = {},
		["pastpart2"] = {},
		},
}
setmetatable(conj["pp"], {__call = function(self, args, data)
	data.conj_type = "[[preterite-present verb|preterite-present]]"
	
	data.forms["inf"] = {args.head or (args[2] .. "an")}
	
	data.forms["pres_ind_1s"] = {args[1]}
	data.forms["pres_ind_2s"] = {args["pres2sg"] or (args[1] .. "t")}
	data.forms["pres_ind_3s"] = {args[1]}
	data.forms["pres_ind_p"] = {args[2] .. "un"}

	data.forms["past_ind_1s"] = {args[3] .. "a"}
	data.forms["past_ind_2s"] = {args[3] .. "es"}
	data.forms["past_ind_3s"] = {args[3] .. "a"}
	data.forms["past_ind_p"] = {args[3] .. "un"}
		
	data.forms["pres_sub_1s"] = {args[2] .. "i"}
	data.forms["pres_sub_2s"] = {args[2] .. "is"}
	data.forms["pres_sub_3s"] = {args[2] .. "i"}
	data.forms["pres_sub_p"] = {args[2] .. "in"}
		
	data.forms["past_sub_1s"] = {args[3] .. "i"}
	data.forms["past_sub_2s"] = {args[3] .. "is"}
	data.forms["past_sub_3s"] = {args[3] .. "i"}
	data.forms["past_sub_p"] = {args[3] .. "in"}
	
	data.forms["pres_part"] = {args[2] .. "andi"}
	data.forms["past_part"] = args.pastpart and {args.pastpart, (args.pastpart2 and args.pastpart2)} or (args[4] and {"gi" .. args[4], args[4]} or {"—"})
	
	table.insert(data.categories, "Old Saxon preterite-present verbs")
end
})

conj["pp2"] = {
	params = {
		[1] = {},
		[2] = {},
		[3] = {},
		[4] = {},
		["pres2sg"] = {},
		},
}
setmetatable(conj["pp2"], {__call = function(self, args, data)
	conj.pp(args, data)
	
	data.forms["past_part"] = args[4] and {args[4]} or {"—"}
end
})

conj["st"] = {
	params = {
		[1] = {},
		[2] = {},
		[3] = {},
		[4] = {},
		[5] = {},
		["mutstem"] = {},
		["fstem"] = {},
		["class"] = {},
		["irr"] = {},
		},
}
setmetatable(conj["st"], {__call = function(self, args, data)
	mw.log("st " .. args.class)
	if not args.class then
		error("Class parameter required for strong verbs")
	end
	data.conj_type = "strong class " .. args.class
	
	data.forms["inf"] = {args.head or (args[1] .. "an")}
	
	data.forms["pres_ind_1s"] = {args[2] .. "u"}
	data.forms["pres_ind_2s"] = {(args.mutstem or args[2]) .. "is"}
	data.forms["pres_ind_3s"] = {(args.mutstem or args[2]) .. "id"}
	data.forms["pres_ind_p"] = {args[1] .. "ad"}

	data.forms["past_ind_1s"] = {args[3]}
	data.forms["past_ind_2s"] = {args[4] .. "i"}
	data.forms["past_ind_3s"] = {args[3]}
	data.forms["past_ind_p"] = {args[4] .. "un"}
		
	data.forms["pres_sub_1s"] = {args[1] .. "e"}
	data.forms["pres_sub_2s"] = {args[1] .. "es"}
	data.forms["pres_sub_3s"] = {args[1] .. "e"}
	data.forms["pres_sub_p"] = {args[1] .. "en"}
		
	data.forms["past_sub_1s"] = {args[4] .. "i"}
	data.forms["past_sub_2s"] = {args[4] .. "is"}
	data.forms["past_sub_3s"] = {args[4] .. "i"}
	data.forms["past_sub_p"] = {args[4] .. "in"}
	
	data.forms["imp_s"] = {args.fstem or args[1]}
	data.forms["imp_p"] = {args[1] .. "ad"}
	
	data.forms["pres_part"] = {args[2] .. "andi"}
	data.forms["past_part"] = {"gi" .. args[5] .. "an", args[5] .. "an"}
	
	if args.class == "5" and mw.ustring.sub(args[2], -1, -1) == "i" then
		data.conj_type = data.conj_type .. " j-present"
		table.insert(data.categories, "Old Saxon class 5 strong j-present verbs")
	else
		table.insert(data.categories, "Old Saxon class " .. args.class .. " strong verbs")
	end
end
})

conj["st2"] = {
	params = {
		[1] = {},
		[2] = {},
		[3] = {},
		[4] = {},
		[5] = {},
		["mutstem"] = {},
		["fstem"] = {},
		["class"] = {},
		["irr"] = {},
		},
}
setmetatable(conj["st2"], {__call = function(self, args, data)
	conj.st(args, data)
	
	data.forms["past_part"] = {args[5] .. "an"}
end
})

conj["wk1"] = {
	params = {
		[1] = {},
		[2] = {},
		["mutstem"] = {},
		["pastpart"] = {},
		["pastpart2"] = {},
		},
}
setmetatable(conj["wk1"], {__call = function(self, args, data)
	data.conj_type = "weak class 1"
	
	data.forms["inf"] = {args.head or (args[1] .. "ian")}
	
	data.forms["pres_ind_1s"] = {args[1] .. "iu"}
	data.forms["pres_ind_2s"] = {(args.mutstem or args[1]) .. "is"}
	data.forms["pres_ind_3s"] = {(args.mutstem or args[1]) .. "id"}
	data.forms["pres_ind_p"] = {args[1] .. "iad"}

	data.forms["past_ind_1s"] = {args[2] .. "a"}
	data.forms["past_ind_2s"] = {args[2] .. "es"}
	data.forms["past_ind_3s"] = {args[2] .. "a"}
	data.forms["past_ind_p"] = {args[2] .. "un"}
		
	data.forms["pres_sub_1s"] = {args[1] .. "ie"}
	data.forms["pres_sub_2s"] = {args[1] .. "ies"}
	data.forms["pres_sub_3s"] = {args[1] .. "ie"}
	data.forms["pres_sub_p"] = {args[1] .. "ien"}
		
	data.forms["past_sub_1s"] = {args[2] .. "i"}
	data.forms["past_sub_2s"] = {args[2] .. "is"}
	data.forms["past_sub_3s"] = {args[2] .. "i"}
	data.forms["past_sub_p"] = {args[2] .. "in"}
	
	data.forms["imp_s"] = {(args.mutstem or args[1]) .. "i"}
	data.forms["imp_p"] = {args[1] .. "iad"}
	
	data.forms["pres_part"] = {args[1] .. "iandi"}
	data.forms["past_part"] = args.pastpart and {args.pastpart, args.pastpart2 and args.pastpart2} or {"gi" .. (args.mutstem or args[1]) .. "id", (args.mutstem or args[1]) .. "id"}
	
	table.insert(data.categories, "Old Saxon class 1 weak verbs")
end
})

conj["wk1-2"] = {
	params = {
		[1] = {},
		[2] = {},
		["mutstem"] = {},
		["pastpart"] = {},
		},
}
setmetatable(conj["wk1-2"], {__call = function(self, args, data)
	conj.wk1(args, data)
	
	data.forms["past_part"] = {args.pastpart or ((args.mutstem or args[1]) .. "id")}
end
})

conj["wk2"] = {
	params = {
		[1] = {},
		},
}
setmetatable(conj["wk2"], {__call = function(self, args, data)
	data.conj_type = "weak class 2"
	
	data.forms["inf"] = {args.head or (args[1] .. "on")}
	
	data.forms["pres_ind_1s"] = {args[1] .. "on"}
	data.forms["pres_ind_2s"] = {args[1] .. "os"}
	data.forms["pres_ind_3s"] = {args[1] .. "od"}
	data.forms["pres_ind_p"] = {(mw.ustring.gsub(args[1] .. "iod", "ii", "i"))}

	data.forms["past_ind_1s"] = {args[1] .. "oda"}
	data.forms["past_ind_2s"] = {args[1] .. "odes"}
	data.forms["past_ind_3s"] = {args[1] .. "oda"}
	data.forms["past_ind_p"] = {args[1] .. "odun"}
		
	data.forms["pres_sub_1s"] = {args[1] .. "o"}
	data.forms["pres_sub_2s"] = {args[1] .. "os"}
	data.forms["pres_sub_3s"] = {args[1] .. "o"}
	data.forms["pres_sub_p"] = {(mw.ustring.gsub(args[1] .. "ion", "ii", "i"))}
		
	data.forms["past_sub_1s"] = {args[1] .. "odi"}
	data.forms["past_sub_2s"] = {args[1] .. "odis"}
	data.forms["past_sub_3s"] = {args[1] .. "odi"}
	data.forms["past_sub_p"] = {args[1] .. "odin"}
	
	data.forms["imp_s"] = {args[1] .. "o"}
	data.forms["imp_p"] = {(mw.ustring.gsub(args[1] .. "iod", "ii", "i"))}
	
	data.forms["pres_part"] = {args[1] .. "ondi"}
	data.forms["past_part"] = {"gi" .. args[1] .. "od", args[1] .. "od"}
	
	table.insert(data.categories, "Old Saxon class 2 weak verbs")
end
})

conj["wk2-2"] = {
	params = {
		[1] = {},
		},
}
setmetatable(conj["wk2-2"], {__call = function(self, args, data)
	conj.wk2(args, data)
	
	data.forms["past_part"] = {args[1] .. "od"}
end
})

conj["wk3"] = {
	params = {
		[1] = {},
		[2] = {},
		["mutstem"] = {},
		},
}
setmetatable(conj["wk3"], {__call = function(self, args, data)
	data.conj_type = "weak class 3"
	
	data.forms["inf"] = {args.head or (args[1] .. "ian")}
	
	data.forms["pres_ind_1s"] = {args[1] .. "iu"}
	data.forms["pres_ind_2s"] = {args[1] .. "es"}
	data.forms["pres_ind_3s"] = {args[1] .. "ed"}
	data.forms["pres_ind_p"] = {args[1] .. "iad"}

	data.forms["past_ind_1s"] = {args[2] .. "da"}
	data.forms["past_ind_2s"] = {args[2] .. "des"}
	data.forms["past_ind_3s"] = {args[2] .. "da"}
	data.forms["past_ind_p"] = {args[2] .. "dun"}
		
	data.forms["pres_sub_1s"] = {args[1] .. "ie"}
	data.forms["pres_sub_2s"] = {args[1] .. "ies"}
	data.forms["pres_sub_3s"] = {args[1] .. "ie"}
	data.forms["pres_sub_p"] = {args[1] .. "ien"}
		
	data.forms["past_sub_1s"] = {args[2] .. "di"}
	data.forms["past_sub_2s"] = {args[2] .. "dis"}
	data.forms["past_sub_3s"] = {args[2] .. "di"}
	data.forms["past_sub_p"] = {args[2] .. "din"}
	
	data.forms["imp_s"] = {args[2] .. "e"}
	data.forms["imp_p"] = {args[1] .. "iad"}
	
	data.forms["pres_part"] = {args[1] .. "iandi"}
	data.forms["past_part"] = {"gi" .. args[2] .. "d", args[2] .. "d"}
	
	table.insert(data.categories, "Old Saxon class 3 weak verbs")
end
})

conj["wk3-2"] = {
	params = {
		[1] = {},
		[2] = {},
		["mutstem"] = {},
		},
}
setmetatable(conj["wk3-2"], {__call = function(self, args, data)
	conj.wk3(args, data)
	
	data.forms["past_part"] = {args[2] .. "d"}
end
})

conj.irregular = {}

conj.irregular["wesan"] = function(data)
	data.conj_type = "irregular, [[suppletive]]"
	
	data.forms["inf"] = {"wesan"}
	
	data.forms["pres_ind_1s"] = {"bium", "biun", "bion"}
	data.forms["pres_ind_2s"] = {"bist", "bis"}
	data.forms["pres_ind_3s"] = {"ist", "is"}
	data.forms["pres_ind_p"] = {"sind", "sindun", "sindon", "sundon"}

	data.forms["past_ind_1s"] = {"was"}
	data.forms["past_ind_2s"] = {"*wāri"}
	data.forms["past_ind_3s"] = {"was"}
	data.forms["past_ind_p"] = {"wārun"}
		
	data.forms["pres_sub_1s"] = {"sī"}
	data.forms["pres_sub_2s"] = {"sīs"}
	data.forms["pres_sub_3s"] = {"sī", "wese"}
	data.forms["pres_sub_p"] = {"sīn"}
		
	data.forms["past_sub_1s"] = {"wāri"}
	data.forms["past_sub_2s"] = {"wāris"}
	data.forms["past_sub_3s"] = {"wāri"}
	data.forms["past_sub_p"] = {"wārin"}
	
	data.forms["imp_s"] = {"wes", "wis"}
	data.forms["imp_p"] = {"wesad", "wesat", "wesath"}
	
	data.forms["pres_part"] = {"wesandi"}
	data.forms["past_part"] = {"giwesan"}
	
	table.insert(data.categories, "Old Saxon irregular verbs")
	table.insert(data.categories, "Old Saxon suppletive verbs")
end

conj.irregular["sīn"] = function(data)
	conj.irregular["wesan"](data)
	
	data.forms["inf"] = {"sīn"}
	
	data.forms["pres_ind_1s"] = {"*em", "*im"}
	data.forms["pres_ind_2s"] = {"*art"}
	data.forms["pres_ind_p"] = {"sind", "sindun", "*arun"}
	
	data.forms["pres_sub_3s"] = {"sī"}
end

conj.irregular["dōn"] = function(data)
	data.conj_type = "irregular"

	data.forms["inf"] = {"dōn"}
	
	data.forms["pres_ind_1s"] = {"dōm"}
	data.forms["pres_ind_2s"] = {"dōs"}
	data.forms["pres_ind_3s"] = {"dōd"}
	data.forms["pres_ind_p"] = {"dōth"}

	data.forms["past_ind_1s"] = {"deda"}
	data.forms["past_ind_2s"] = {"dādi"}
	data.forms["past_ind_3s"] = {"deda"}
	data.forms["past_ind_p"] = {"dādun"}
	
	data.forms["pres_sub_1s"] = {"dōe"}
	data.forms["pres_sub_2s"] = {"dōes"}
	data.forms["pres_sub_3s"] = {"dōe"}
	data.forms["pres_sub_p"] = {"dōen"}
	
	data.forms["past_sub_1s"] = {"dādi"}
	data.forms["past_sub_2s"] = {"dādis"}
	data.forms["past_sub_3s"] = {"dādi"}
	data.forms["past_sub_p"] = {"dādin"}

	data.forms["imp_s"] = {"dō"}
	data.forms["imp_p"] = {"dōth"}
	
	data.forms["pres_part"] = {"dōndi"}
	data.forms["past_part"] = {"gidōn", "dōn"}
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["gidōn"] = function(data)
	conj.irregular["dōn"](data)
	
	for _, forms in pairs(data.forms) do
		forms[1] = "gi" .. forms[1]
	end
	
	data.forms["past_part"] = {"gidōn"}
end

conj.irregular["gān"] = function(data)
	data.conj_type = "irregular, [[suppletive]]"

	data.forms["inf"] = {"gān"}
	
	data.forms["pres_ind_1s"] = {"*gā"}
	data.forms["pres_ind_2s"] = {"*gēs"}
	data.forms["pres_ind_3s"] = {"gēd"}
	data.forms["pres_ind_p"] = {"*gād"}

	data.forms["past_ind_1s"] = {"gēng"}
	data.forms["past_ind_2s"] = {"gēngi"}
	data.forms["past_ind_3s"] = {"gēng"}
	data.forms["past_ind_p"] = {"gēngun"}
	
	data.forms["pres_sub_1s"] = {"*gāe"}
	data.forms["pres_sub_2s"] = {"*gāes"}
	data.forms["pres_sub_3s"] = {"*gāe"}
	data.forms["pres_sub_p"] = {"*gāen"}
	
	data.forms["past_sub_1s"] = {"gēngi"}
	data.forms["past_sub_2s"] = {"gēngis"}
	data.forms["past_sub_3s"] = {"gēngi"}
	data.forms["past_sub_p"] = {"gēngin"}

	data.forms["imp_s"] = {"*gā"}
	data.forms["imp_p"] = {"*gād"}
	
	data.forms["pres_part"] = {"gāndi"}
	data.forms["past_part"] = {"gigangan", "gangan"}
	
	table.insert(data.categories, "Old Saxon irregular verbs")
	table.insert(data.categories, "Old Saxon suppletive verbs")
end

conj.irregular["fulgān"] = function(data)
	conj.irregular["gān"](data)
	
	data.forms["past_part"] = {"gangan"}
	
	for _, forms in pairs(data.forms) do
		forms[1] = mw.ustring.gsub(forms[1], "^(%*?)g", "%1fulg")
		forms[1] = mw.ustring.gsub(forms[1], "gēng", "geng")
	end
end

conj.irregular["stān"] = function(data)
	data.conj_type = "irregular"

	data.forms["inf"] = {"stān"}
	
	data.forms["pres_ind_1s"] = {"*stā"}
	data.forms["pres_ind_2s"] = {"stēs"}
	data.forms["pres_ind_3s"] = {"stēd"}
	data.forms["pres_ind_p"] = {"stād"}

	data.forms["past_ind_1s"] = {"stōd"}
	data.forms["past_ind_2s"] = {"stōdi"}
	data.forms["past_ind_3s"] = {"stōd"}
	data.forms["past_ind_p"] = {"stōdun"}
	
	data.forms["pres_sub_1s"] = {"*stāe"}
	data.forms["pres_sub_2s"] = {"*stāes"}
	data.forms["pres_sub_3s"] = {"*stāe"}
	data.forms["pres_sub_p"] = {"*stāen"}
	
	data.forms["past_sub_1s"] = {"stōdi"}
	data.forms["past_sub_2s"] = {"stōdis"}
	data.forms["past_sub_3s"] = {"stōdi"}
	data.forms["past_sub_p"] = {"stōdin"}

	data.forms["imp_s"] = {"stā"}
	data.forms["imp_p"] = {"stād"}
	
	data.forms["pres_part"] = {"stāndi"}
	data.forms["past_part"] = {"gistandan", "standan"}
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["willian"] = function(data)
	data.conj_type = "irregular"

	data.forms["inf"] = {"willian"}
	
	data.forms["pres_ind_1s"] = {"williu"}
	data.forms["pres_ind_2s"] = {"wilt", "wilis"}
	data.forms["pres_ind_3s"] = {"wili", "wil"}
	data.forms["pres_ind_p"] = {"williad"}

	data.forms["past_ind_1s"] = {"welda"}
	data.forms["past_ind_2s"] = {"weldes"}
	data.forms["past_ind_3s"] = {"welda"}
	data.forms["past_ind_p"] = {"weldun"}
	
	data.forms["pres_sub_1s"] = {"willie"}
	data.forms["pres_sub_2s"] = {"willies"}
	data.forms["pres_sub_3s"] = {"willie"}
	data.forms["pres_sub_p"] = {"willien"}
	
	data.forms["past_sub_1s"] = {"weldi"}
	data.forms["past_sub_2s"] = {"weldis"}
	data.forms["past_sub_3s"] = {"weldi"}
	data.forms["past_sub_p"] = {"weldin"}
	
	data.forms["pres_part"] = {"williandi"}

	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["snīwan"] = function(data)
	data.conj_type = "class 1 strong [[impersonal verb|impersonal]]"
	
	data.forms["inf"] = {"snīwan"}

	data.forms["pres_ind_3s"] = {"snīwid"}
	data.forms["past_ind_3s"] = {"snēw"}
	
	data.forms["pres_sub_3s"] = {"snīwe"}
	data.forms["past_sub_3s"] = {"sniwi"}
	
	data.forms["pres_part"] = {"snīwandi"}
	data.forms["past_part"] = {"gisniwan", "sniwan"}
	
	table.insert(data.categories, "Old Saxon class 1 strong verbs")
	table.insert(data.categories, "Old Saxon impersonal verbs")
end

----------------------------------------------------------------------

conj.irregular["antfindan"] = function(data)
	conj["st2"]({["class"] = 3, "antfind", "antfind", "antfand", "antfund", "antfund"}, data)

	data.conj_type = "strong class 3 with weak past"

	data.forms["past_ind_1s"] = {"antfunda"}
	data.forms["past_ind_2s"] = {"*antfundes"}
	data.forms["past_ind_3s"] = {"antfunda"}
	data.forms["past_ind_p"] = {"antfundun"}
	
	add_asterisks({"past_sub_1s", "past_sub_2s", "past_sub_3s", "past_sub_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["anbrengian"] = function(data)
	conj["wk1-2"]({"anbreng", "anbrāht", ["pastpart"] = "anbrāht"}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["bakkan"] = function(data)
	conj.st({"bakk", "bakk", "bōk", "bōk", "bakk", ["fstem"] = "bak", ["class"] = 6}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
end

conj.irregular["bibrengian"] = function(data)
	conj["wk1-2"]({"bibreng", "bibrāht", ["pastpart"] = "bibrāht"}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["buggian"] = function(data)
	conj.wk1({"bugg", ["mutstem"] = "bug", "boht", ["pastpart"] = "giboht", ["pastpart2"] = "boht"}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["fargevan"] = function(data)
	conj["st2"]({"fargev", "fargev", "fargaf", "fargāv", ["fstem"] = "fargef", "fargev", ["class"] = 5}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_3s", "pres_ind_p",
		"pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
end

conj.irregular["gibrengian"] = function(data)
	conj["wk1-2"]({"gibreng", "gibrāht", ["pastpart"] = "gibrāht"}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["gidēlian"] = function(data)
	conj["wk1-2"]({"gidēl", "gidēld"}, data)
	
	data.forms["pres_ind_3s"] = {"gidēli"}
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["nitan"] = function(data)
	conj.pp({"nēt", ["pres2sg"] = "nēst", "nit", "niss", "nitan", ["pastpart"] = "[[ne]] [[giwitan]]", ["pastpart2"] = "ne [[witan]]"}, data)
	
	data.conj_type = data.conj_type .. " irregular"
		
	add_asterisks({"pres_ind_2s", "pres_ind_p", "past_ind_1s", "past_ind_2s", "past_ind_3s", "past_ind_p",
		"pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", 
		"past_sub_1s", "past_sub_2s", "past_sub_3s", "past_sub_p", "pres_part"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["rekkian"] = function(data)
	conj.wk1({"rekk", ["mutstem"] = "rek", "raht", ["pastpart"] = "giraht", ["pastpart2"] = "raht"}, data)
	
	add_asterisks({"past_ind_2s", "past_ind_p", "past_sub_1s", "past_sub_2s", "past_sub_3s", "past_sub_p", "past_part"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["tesamnabrengian"] = function(data)
	conj["wk1-2"]({"tesamnabreng", "tesamnabrāht", ["pastpart"] = "tesamnabrāht"}, data)
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_3s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p", "imp_s", "imp_p"}, data)

	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["thenkian"] = function(data)
	conj.wk1({"thenk", "thāht", ["pastpart"] = "githāht", ["pastpart2"] = "thāht"}, data)
	
	data.conj_type = data.conj_type .. " irregular"
	
	add_asterisks({"pres_ind_1s", "pres_ind_2s", "pres_ind_p", "pres_sub_1s", "pres_sub_2s", "pres_sub_3s", "pres_sub_p",
		"imp_s", "imp_p"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

conj.irregular["thrukkian"] = function(data)
	conj.wk1({"thrukk", ["mutstem"] = "thruk", "thruht", ["pastpart"] = "githruht", ["pastpart2"] = "thruht"}, data)
	
	add_asterisks({"past_ind_2s", "past_ind_p", "past_sub_1s", "past_sub_2s", "past_sub_3s", "past_sub_p", "past_part"}, data)
	
	table.insert(data.categories, "Old Saxon irregular verbs")
end

return conj