-- INSTRUCTIONS - ΟΔΗΓΙΕΣ για συγγραφείς προτύπων στο [[Module:grc-decl-nouns/functions]]
	-- check https://en.wiktionary.org/wiki/Module:grc-decl/decl/staticdata/paradigms
-- [[Module:zz/functions]] [[Template:grc-nouns-decl]]
--[=[
Ancient Greek declension of nouns. Also can be used for Mediaeval Greek and other polytonic versions of Greek.
	3 declensions and irregulars at
-- by Flyax (2015-2018)
-- additions: 2021, Sarri.greek
STRUCTURE: 
	1. required modules, stem production
	2. links and style
	3. the TABLE
	4. Categories
	5. line 1000: decl (basic function for declensions in the functionpages)
	6. line 1888: free (to invoke directly from pages)
	notes at bottom
]=]--

export = {} -- DO NOT write local export. It does not work, when there are required data involved.
--------------------------------------------------------------------------
-- 1. STEM PRODUCTION, REQUIRED MODULES / ΔΗΜΙΟΥΡΓΙΑ ΘΕΜΑΤΩΝ, MODULES   --
--------------------------------------------------------------------------
languages = mw.loadData("Module:Languages") -- to choose grc, gkm, kath, greek languages with same script

-- USE at ARTICLES section: require ('Module:grc-articles').articles (args)
	-- DO NOT USE here,  m_art = require ('Module:grc-articles').articles (args)
	-- and DO NOT change at all any args for articles

m_functions = require("Module:zz/functions") -- irregular declensions are here -- this also works with and without 'local'
-- it calls: m_1 = require("Module:zz/1") -- 1st declension functions
		-- m_1 has: m_2 = require("Module:zz/2") -- 2nd declentions functions
			-- m_2 has = require("Module:zz/3")

-- do not name 'local': it does not work for Module:.../functions
m_stems = require("Module:grk-stems") -- stem production: 
	--functions:
		--word-3 substrace 3 letters from end, word-2, word-1 etc
		--word0 = no accent, word1 = accent on ultima,  word2 = accent on penultima
		--hasaccent = tells us if it has an accent

--------------------------------------------------------------------------
--             2. links & styles / σύνδεσμοι & στυλ                     --
--------------------------------------------------------------------------

-- =========== standard colours LightSteelBlue =  #b0c4de 70%-75%-GREY-95%)  GREY c3
-- borders
c_border = '#c9d7e8' -- same as c3 or stronger: same as c_1
c_bord = '#f4f4f4' -- or '#eeeeee' -- inner lighter borders
c_bordR = '' -- right border: if there are more columns, it is soft c_bord. If it is the end, it is c_border
-- background colours
c_extra = '#b0c4de'
c_1 = '#93aed2' -- ROW title1 MAIN, number names, and border for title2 if it exists
c_2 = '#a5bcd9' -- title2 subtitles, genders of adjectives and border for title1
c_3 = '#e3e5e8' -- = from Grey --Ligthsteelblue was '#c9d7e8' -- title3, all the subtitles 
c_4 = '#edf2f7' -- background for notes 

-- font colours
c_ending = '#eb0000'			-- is DeepPink. For wikitext, template [[Πρότυπο:χκ]], never bold
c_stem = '#002000'				-- For wikitext, template [[Πρότυπο:χθ]], never bold
c_black = '#000000'				-- for subtitles
c_cccccc = '#cccccc'			-- not used here (possible for dubious forms)
c_green = '#008000'				-- not used here (possibly for infix)

-- =============== styles
-- for table style, cf. the beginning of fulltable

font_cell = "font-family:;"				-- tested, rejected: Palatino linotype; font-family:Times; 
fontsize_cell = "font-size:110%;"		-- tested: font-size:130%; (too big)

--  ============== apply font colours - εφαρμογή χρωμάτων
ending_color = function(kataliksi)
    return '<span style="color:' .. c_ending ..'; font-weight:normal;">' .. kataliksi .. '</span>'
end

stem_color = function(thema)
    return '<span style="color:' .. c_stem ..'; font-weight:normal;">' .. thema .. '</span>'
end

infix_color = function(infix) -- this is not exactly an inifix. It is extra letters of a 2nd stem.
    return '<span style="color:' .. c_stem ..'; font-weight:normal;">' .. infix .. '</span>'
end

-- for subtitles:
black_color = function(black_thing)
    return '<span style="color:' .. c_black ..'; font-weight:normal;">' .. black_thing .. '</span>'
end

-- not used:
black_word = function(black_word)
    return '<span style="color:' .. c_black ..'; font-weight:;">' .. black_word .. '</span>'
end
cccccc_color = function(cccccc_thing)
    return '<span style="color:' .. c_cccccc ..'; font-weight:normal;">' .. cccccc_thing .. '</span>'
end
green_color = function(green_thing)
    return '<span style="color:' .. c_green ..'; font-weight:normal;">' .. green_thing .. '</span>'
end

-- ====================== Links
create_link = function(page, text)
	local args = {}
	local kathar = args['kath'] or args['καθ'] or ''
	local lang_iso = ''
	if lang_iso == '' or lang_iso == nil then lang_iso = 'grc' end
	local lang_link = languages[lang_iso]['link'] or ''	
	if text then
		return '[[' .. page .. '#' .. languages[lang_iso]['link'] .. '|' .. text .. ']]'
	else
		return '[[' .. page .. '#' .. languages[lang_iso]['link'] .. '|' .. page .. ']]'
	end
end

-- it controls stem (thema) and ending (kataliksi)
linkcontrol2 = function(thema, kataliksi)
	thema = thema or ''
	kataliksi = kataliksi or ''
	return create_link(thema .. kataliksi, stem_color(thema) ..  ending_color(kataliksi))
end

-- it controls stem, infixed letters and ending
linkcontrol3 = function(thema, infix, kataliksi)
	thema = thema or ''
	return create_link(thema .. infix .. kataliksi, stem_color(thema) ..  infix_color(infix) .. ending_color(kataliksi))
end

-- =========== Errors -- use it with writing: if blahblah then return errorhere('xxxxxx') end
errorhere = function(errstring)
    return '<div class="error">' .. errstring .. '</div>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο κλίσης ουσιαστικών (αρχαία ελληνικά)]]'
end


--------------------------------------------------------------------------
--                        3. TABLE / ΠΙΝΑΚΑΣ                            --
--------------------------------------------------------------------------

fulltable = function(args)
-- table: -- note: in some browsers, border is not visible. Need border="1"
local float = args['float'] or ''
	if args['float'] == 'left' then
table_style1 = 'style="clear:left; float:left; position:relative; margin: 0px 1.5em 0.5em 0px; background:#ffffff; border:1px solid' .. c_border ..'; text-align:left;" rules="none" border="1" cellpadding="3" cellspacing="0"'
	elseif args['float'] == 'center' then
table_style1 = 'style="margin-left:auto; margin-right:auto; margin-bottom:0.5em; background:#ffffff; border:1px solid' .. c_border ..'; text-align:center;" rules="none" border="1" cellpadding="3" cellspacing="0"'	
	else
table_style1 = 'style="clear:right; float:right; margin-left:0.5em; margin-bottom:0.5em;background:#ffffff; border:1px solid' .. c_border ..'; text-align:right;" rules="none" border="1" cellpadding="3" cellspacing="0"'
	end
	
	
-- choose language grc or, for kathαρεύουσα (gkm mediaeval pending)
	local kathar = args['kath'] or args['καθ'] or ''				-- place this ABOVE all language parameters
		if kathar == '1' then c_3 = '#d5e2f6' else c_3 = c_3 end	-- title3, all the subtitles as in Modern Greek table-colours
	local lang_iso = ''
	if lang_iso == '' or lang_iso == nil then lang_iso = 'grc' end
	local lang_name = languages[lang_iso]['name'] or ''
	local lang_link = languages[lang_iso]['link'] or ''
	
	local columns = args['cols'] or ''		-- number of columns: 1+2 if only one number, 1+4 if 2 numbers 1+6 if double plural or double singular, 1+8 double sing & double pl
	local dichr = args['δίχρ'] or ''		-- for dichronous (either macron or brachy δίχρ=β is brachy)

-- row for titles of dialects etc
	local extratitle_str = args['τίτλος'] or '' 
-- typos, klisi
	typos = args['τύπος'] or args['τύπος0'] or args['κατ'] or ''
	local klisi = args['κλίση'] or ''
		if args['κλίση'] == '1' then klisi = '1' end
		if args['κλίση'] == '2' then klisi = '2' end
		if args['κλίση'] == '3' then klisi = '3' end
		if args['κλίση'] == 'ανώμαλα' then klisi = 'ανώμαλα' end
		if args['κλίση'] == '0' then klisi = 'ανώμαλα' end

	local stem_line = ''
	local stem_cell = ''

	-- row for subtitles (dialects or gender of numbers if different) ἑτερογενῆ =  ὁ λύχνος - τὰ λύχνα, ὁ σῖτος - τὰ σῖτα , ὁ δεσμὸς - οἱ δεσμοὶ καὶ τὰ δεσμά, τὸ στάδιον - τὰ στάδια καὶ οἱ στάδιοι
	local subtitle = ''
	local subtitle_sg = '' 
	if args['υπότιτλος-εν'] ~= 'αρσ' and args['υπότιτλος-εν'] ~= 'θηλ' and args['υπότιτλος-εν'] ~= 'ουδ' and args['υπότιτλος-εν'] ~= 'αθ' then args['υπότιτλος-εν'] = args['υπότιτλος-εν'] or '' end
	if args['υπότιτλος-εν'] == 'αθ' then args['υπότιτλος-εν'] = 'κοινού γένους' end
	if args['υπότιτλος-εν'] == 'αρσ' then args['υπότιτλος-εν'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['υπότιτλος-εν'] == 'θηλ' then args['υπότιτλος-εν'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['υπότιτλος-εν'] == 'ουδ' then args['υπότιτλος-εν'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
--  need subtitle_sg2 for ὁ [[ζυγός]] τό [[ζυγόν]]
	local subtitle_sg2 = '' -- δεύτερος ενικός
	if args['υπότιτλος-εν2'] ~= 'αρσ' and args['υπότιτλος-εν2'] ~= 'θηλ' and args['υπότιτλος-εν2'] ~= 'ουδ' and args['υπότιτλος-εν2'] ~= 'αθ' then args['υπότιτλος-εν2'] = args['υπότιτλος-εν2'] or '' end
	if args['υπότιτλος-εν2'] == 'αθ' then args['υπότιτλος-εν2'] = 'κοινού γένους' end
	if args['υπότιτλος-εν2'] == 'αρσ' then args['υπότιτλος-εν2'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['υπότιτλος-εν2'] == 'θηλ' then args['υπότιτλος-εν2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['υπότιτλος-εν2'] == 'ουδ' then args['υπότιτλος-εν2'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
	local subtitle_pl = ''
	if args['υπότιτλος-πλ'] ~= 'αρσ' and args['υπότιτλος-πλ'] ~= 'θηλ' and args['υπότιτλος-πλ'] ~= 'ουδ' and args['υπότιτλος-πλ'] ~= 'αθ' then args['υπότιτλος-πλ'] = args['υπότιτλος-πλ'] or '' end
	if args['υπότιτλος-πλ'] == 'αθ' then args['υπότιτλος-εν2'] = 'κοινού γένους' end
	if args['υπότιτλος-πλ'] == 'αρσ' then args['υπότιτλος-πλ'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['υπότιτλος-πλ'] == 'θηλ' then args['υπότιτλος-πλ'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['υπότιτλος-πλ'] == 'ουδ' then args['υπότιτλος-πλ'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
	local subtitle_pl2 = ''	-- 2ος πληθυντικός
	if args['υπότιτλος-πλ2'] ~= 'αρσ' and args['υπότιτλος-πλ2'] ~= 'θηλ' and args['υπότιτλος-πλ2'] ~= 'ουδ' and args['υπότιτλος-πλ2'] ~= 'αθ' then args['υπότιτλος-πλ2'] = args['υπότιτλος-πλ2'] or '' end
	if args['υπότιτλος-πλ2'] == 'αθ' then args['υπότιτλος-εν2'] = 'κοινού γένους' end
	if args['υπότιτλος-πλ2'] == 'αρσ' then args['υπότιτλος-πλ2'] = '[[αρσενικό|' .. black_color('αρσενικό') .. ']]' end
	if args['υπότιτλος-πλ2'] == 'θηλ' then args['υπότιτλος-πλ2'] = '[[θηλυκό|' .. black_color('θηλυκό') .. ']]' end
	if args['υπότιτλος-πλ2'] == 'ουδ' then args['υπότιτλος-πλ2'] = '[[ουδέτερο|' .. black_color('ουδέτερο') .. ']]' end
	-- numbers
	local sg_title_str = ''			-- singularis title string / ἑνικός
	local sg2_title_str = ''		-- 2nd singualr title / 2ος ενικός αν υπάρχει
	local pl_title_str = ''			-- pluralis  title / πληθυντικός
	local pl2_title_str = ''		-- 2nd plural title / 2ος πληθυντικός αν υπάρχει
	local dualrow = ''				-- not always
	local du_title_str = ''			-- dualis title / δυϊκός
	-- cases
    local nom_sg_str = ''			-- nominativus singularis / ὀνομαστική ἑνικός
    local nom_sg2_str = ''
    local nom_pl_str = ''
    local nom_pl2_str = ''
    local nom_du_str = ''
    local gen_sg_str = ''			-- genitivus / γενική
    local gen_sg2_str = ''
    local gen_pl_str = ''
    local gen_pl2_str = ''
    local gen_du_str = ''
    local dat_sg_str = ''			-- dativus / δοτική
    local dat_sg2_str = ''
    local dat_pl_str = ''
    local dat_pl2_str = ''
    local dat_du_str = ''
    local acc_sg_str = ''			-- accusativus / αἰτιατική
    local acc_sg2_str = ''
    local acc_pl_str = ''
    local acc_pl2_str = ''
    local acc_du_str = ''
    local voc_sg_str = ''			-- vocativus / κλητική
    local voc_sg2_str = ''
    local voc_pl_str = ''
    local voc_pl2_str = ''
    local voc_du_str = ''
	-- articles / ἄρθρα (see [[Module:grc-articles]] (Also parameter άρθρα=0 to omit all articles)
    local a_nom_sg_str = ''
    local a_nom_sg2_str = ''
    local a_nom_pl_str = ''
    local a_nom_pl2_str = ''
    local a_nom_du_str = ''
    local a_gen_sg_str = ''
    local a_gen_sg2_str = ''
    local a_gen_pl_str = ''
    local a_gen_pl2_str = ''
    local a_gen_du_str = ''
    local a_dat_sg_str = ''
    local a_dat_sg2_str = ''
    local a_dat_pl_str = ''
    local a_dat_pl2_str = ''
    local a_dat_du_str = ''
    local a_acc_sg_str = ''
    local a_acc_sg2_str = ''
    local a_acc_pl_str = ''
    local a_acc_pl2_str = ''
    local a_acc_du_str = ''
    local a_voc_sg_str = ''
    local a_voc_sg2_str = ''
    local a_voc_pl_str = ''
    local a_voc_pl2_str = ''
    local a_voc_du_str = ''

-- ARTICLES ===========================================================
require ('Module:grc-articles').articles (args)

-- NUMBERS ================================================================
    local hassingular = true		-- (args['εν'] ~= nil)
    local hasplural = true			-- (args['πλ'] ~= nil)
    local hasdual = true			-- (args['δυ'] ~= '-')

    -- α = Ουσιαστικά ΧΩΡΙΣ τον άλλο αριθμό / the other number does not exist. For pluralia and singularia tantum
    -- α2 = Υπάρχει γραμματικά και ο άλλος αριθμός / The other number grammatically exists (not used)
    -- ενδ = yes dual together with singular
    -- πλδ = yes dual together with plural
    if args['α'] == "πλδ" or args['α2'] == "πλδ" then hassingular = false end	-- get plural and dual
    if args['α'] == "πλ" or args['α2'] == "πλ" then								-- get plural only
    	hassingular = false
    	hasdual = false
    end

    if args['α'] == "ενδ" or args['α2'] == "ενδ" then hasplural = false end	-- get singular and dual
    if args['α'] == "εν" or args['α2'] == "εν" then							-- get singular only
    	hasplural = false
    	hasdual = false
    end
  
-- number of columns for full rows ?????? may write e.g. columns = '10' and it is ok
	-- 1+2 (only one number)
	if args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'ενδ' or args['α2'] == 'ενδ' or args['α'] == 'πλ' or args['α2'] == 'πλ' or args['α'] == 'πλδ' or args['α2'] == 'πλδ'
	and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil) and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
		then columns = '3'
	
	-- 1+6 en-en2-pl
	elseif (args['α'] ~= 'εν' and args['α2'] ~= 'εν' and args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλ' and args['α2'] ~= 'πλ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ')
	and	(args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil) 
	and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
		then columns = '7'
	
	-- 1+6 en-pl-pl2
	elseif (args['α'] ~= 'εν' and args['α2'] ~= 'εν' and args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλ' and args['α2'] ~= 'πλ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ')
	and	(args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil) 
	and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
		then columns = '7'	
    
    -- 1+8 --en-en2-pl-pl2
	elseif args['α'] ~= 'εν' and args['α2'] ~= 'εν' and args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλ' and args['α2'] ~= 'πλ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ'
	and args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil and args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil
		then columns = '9'

	-- 1+4 for en-en2 --??????? does not work
	elseif (args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'ενδ' or args['α2'] == 'ενδ')
	and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
	and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
		then columns = '5'

	-- 1+4 for pl-pl2
	elseif (args['α'] == 'πλ' or args['α2'] == 'πλ' or args['α'] == 'πλδ' or args['α2'] == 'πλδ')
	and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
	and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
		then columns = '5'
			
	-- 1+4 sg + pl, normal ... hope it covers all other combinations
	else
        columns = '5'
     
	end


-- NOTES & whole LINES ================================================================
    local paratirisi = ''			-- notes by editor
    local note = args['σημ'] or  ''	-- standard notes by Template
    local appendix = ''				-- standard link for [[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)]]
    local append = ''				-- link to Appendix at specific paradigm
    local as_in = args['όπως']	or ''    	-- editor must add: e.g. όπως= 'σοφία'
    	if as_in == '' or as_in == nil then append = '' else
    		if args['κλίση'] == 'ανώμαλα' or args['κλίση'] == '0' then
    		append = '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/ανώμαλα|ανώμαλη κλίση]] όπως «[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/ανώμαλα#' .. as_in .. '|' .. as_in .. ']]» - '
    		else -- klisi 1, 2, 3
    		append = '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/' .. klisi .. '|' .. klisi .. 'η κλίση]] όπως «[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)/' .. klisi .. '#' .. as_in .. '|' .. as_in .. ']]» - '
    		end
    	end
-- stem line MUST be placed at Section Rows
    
-- note lines / παρατήρηση

	if args['σημ'] ~= '' or args['σημ'] ~= nil then
    	if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. note .. '<br>' .. args['παρατήρηση'] .. "\n"
    	else
        paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. note .. "\n"
    	end
    end
	if args['σημ'] == '' or args['σημ'] == nil then
    	if not (args['παρατήρηση'] == nil or mw.ustring.len(args['παρατήρηση']) < 1) then
        paratirisi = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="left" style="background:]=] .. c_4 .. [=[; font-size:80%; line-height:100%;" | ]=]
        paratirisi = paratirisi .. args['παρατήρηση'] .. "\n"
    	else
    	paratirisi = ''
    	end
    end
	-- appendix
	if args['παράρτημα'] == '-' then appendix = ''
	elseif args['παράρτημα'] ~= '-'  and args['παράρτημα'] ~= '' and args['παράρτημα'] ~= nil  then
        appendix = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. append .. args['παράρτημα'] .. "\n"
	else
        appendix = '|-' .. "\n" .. [=[| colspan="]=] .. columns .. [=[" align="right" style="text-align:right; background:]=] .. c_4 .. [=[; font-size:70%; line-height:100%;" | ]=]
        appendix = appendix .. append .. '[[Παράρτημα:Ουσιαστικά (αρχαία ελληνικά)|<span title="Παράρτημα:Ουσιαστικά (αρχαία)">Παράρτημα:Ουσιαστικά</span>]]' .. "\n"
	end

    
    
-- ========== CELLS  ===============================================    

-- stem_cell --this is a full row, but it does not come first, it goes UNDER last row
   	if args['θέματα'] ~= '' and args['θέματα'] ~= nil then
   		-- colspan as in columms

        	stem_cell = [=[| style="background:]=] .. c_3 .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        	[=["  colspan="]=] .. columns .. [=[" align="left" | ]=] .. args['θέματα'] .. "\n"
 
    end -- close stem_cell


-- (spaces added for good copy-paste result)
if hassingular then
    	-- for 2 columns only (table_style1's border does not apply)
    if args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'ενδ' or args['α2'] == 'ενδ' then
    	c_bordR = c_border
    	
        sg_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[ενικός|<span title="ἑνικός ἀριθμός" style="color:black;">'''''ενικός'''''</span>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]=] .. "\n"

        subtitle_sg = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-εν'] .. "\n"
	else -- different right border
		c_bordR = c_bord -- soft right border if more columns follow
		
        sg_title_str =  [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[ενικός|<span title="ἑνικός ἀριθμός" style="color:black;">'''''ενικός'''''</span>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]=] .. "\n"
 
        subtitle_sg = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-εν'] .. "\n"	
	end	
        a_nom_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αοε'] ..  "\n" --DO NOT TEST m_art(args['αοε'])
        nom_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['οεΛ'] ..  "\n"
        a_gen_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αγε'] ..  "\n"
        gen_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['γεΛ'] ..  "\n"
        a_dat_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αδε'] ..  "\n"
        dat_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['δεΛ'] ..  "\n"
        a_acc_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ααε'] ..  "\n"
        acc_sg_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['αεΛ'] ..  "\n"
        a_voc_sg_str = [=[| style="]=] .. font_cell .. fontsize_cell ..  [=[" align="center" | ]=] .. args['ακε'] ..  "\n"
        voc_sg_str = [=[| style="border-right:1px solid ]=] .. c_bordR .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['κεΛ'] ..  "\n"

end -- close hassingular
    
    
if hasplural then
        if args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then	-- if 2nd plural follows, right borders are soft	
        	
        pl_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός ἀριθμός" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"

        subtitle_pl = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 .. 
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-πλ'] .. "\n"
        
        a_nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αοπ'] ..  "\n"
        nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['οπΛ'] ..  "\n"
        a_gen_pl_str =  [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αγπ'] ..  "\n"
        gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['γπΛ'] ..  "\n"
        a_dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αδπ'] ..  "\n"
        dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['δπΛ'] ..  "\n"
        a_acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ααπ'] ..  "\n"
        acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['απΛ'] ..  "\n"
        a_voc_pl_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ακπ'] ..  "\n"
        voc_pl_str = [=[| style="border-right:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['κπΛ'] ..  "\n"
        
        else -- if 2nd plural does not follow we need strong right borders
        	
        pl_title_str = [=[! style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός ἀριθμός" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"

        subtitle_pl = [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border .. 
        [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-πλ'] .. "\n"
        
        a_nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αοπ'] ..  "\n"
        nom_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['οπΛ'] ..  "\n"
        a_gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αγπ'] ..  "\n"
        gen_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['γπΛ'] ..  "\n"
        a_dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αδπ'] ..  "\n"
        dat_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['δπΛ'] ..  "\n"
        a_acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ααπ'] ..  "\n"
        acc_pl_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['απΛ'] ..  "\n"
        a_voc_pl_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ακπ'] ..  "\n"
        voc_pl_str = [=[| style="border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['κπΛ'] ..  "\n"
        
        end -- close if 2nd plural
        
end -- close hasplural

-- 2nd singular - 2ος ενικός
    if args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil then	-- write free text
		args['αοε2'] = args['αοε2'] or ''
		args['αγε2'] = args['αγε2'] or ''
		args['αδε2'] = args['αδε2'] or ''
		args['ααε2'] = args['ααε2'] or ''
		args['οεΛ2'] = args['οεΛ2'] or ''
		args['γεΛ2'] = args['γεΛ2'] or ''
		args['δεΛ2'] = args['δεΛ2'] or ''
		args['αεΛ2'] = args['αεΛ2'] or ''
		args['κεΛ2'] = args['κεΛ2'] or ''

        sg2_title_str = [=[! style="background:]=] .. c_1 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[ενικός|<span title="ἑνικός ἀριθμός" style="color:black;">'''''ενικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"

        subtitle_sg2 = [=[| style="background:]=] .. c_2 ..
        [=[; border-right:1px solid ]=] .. c_1 .. [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-εν2'] .. "\n"
        
        a_nom_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αοε2'] ..  "\n"
        nom_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['οεΛ2'] ..  "\n"
        a_gen_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αγε2'] ..  "\n"
        gen_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord  .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['γεΛ2'] ..  "\n"
        a_dat_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αδε2'] ..  "\n"
        dat_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['δεΛ2'] ..  "\n"
        a_acc_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ααε2'] ..  "\n"
        acc_sg2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord  .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['αεΛ2'] ..  "\n"
        a_voc_sg2_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ακε2'] ..  "\n"
        voc_sg2_str = [=[| style="border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['κεΛ2'] ..  "\n"
    end	-- close sg2 exists


-- 2nd plural - 2ος πληθυντικός
    if args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then	-- write free text
		args['αοπ2'] = args['αοπ2'] or ''
		args['αγπ2'] = args['αγπ2'] or ''
		args['αδπ2'] = args['αδπ2'] or ''
		args['ααπ2'] = args['ααπ2'] or ''
		args['οπΛ2'] = args['οπΛ2'] or ''
		args['γπΛ2'] = args['γπΛ2'] or ''
		args['δπΛ2'] = args['δπΛ2'] or ''
		args['απΛ2'] = args['απΛ2'] or ''
		args['κπΛ2'] = args['κπΛ2'] or ''

        pl2_title_str = [=[! style="background:]=] .. c_1 ..
        [=[;" colspan="2" align="center"| &nbsp;&nbsp;[[πληθυντικός|<span title="πληθυντικός ἀριθμός" style="color:black;">'''''πληθυντικός'''''</span>]]&nbsp;&nbsp;]=] .. "\n"

        subtitle_pl2 = [=[| style="background:]=] .. c_2 ..
        [=[; border-right:1px solid ]=] .. c_1 .. [=[; font-size:70%; font-style:italic; line-height:100%;" colspan="2" align="center"| ]=] .. args['υπότιτλος-πλ2'] .. "\n"
        
        a_nom_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αοπ2'] ..  "\n"
        nom_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['οπΛ2'] ..  "\n"
        a_gen_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αγπ2'] ..  "\n"
        gen_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord  .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['γπΛ2'] ..  "\n"
        a_dat_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['αδπ2'] ..  "\n"
        dat_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['δπΛ2'] ..  "\n"
        a_acc_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ααπ2'] ..  "\n"
        acc_pl2_str = [=[| style="border-bottom:1px solid ]=] .. c_bord  .. [=[; border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['απΛ2'] ..  "\n"
        a_voc_pl2_str = [=[| style="]=] .. font_cell .. fontsize_cell ..
        [=[" align="center" | ]=] .. args['ακπ2'] ..  "\n"
        voc_pl2_str = [=[| style="border-right:1px solid ]=] .. c_border .. [=[; ]=] .. font_cell .. fontsize_cell ..
        [=[" align="left" | ]=] .. args['κπΛ2'] ..  "\n"
    end	-- close pl2 exists

if hasdual then -- need lines only for nom, gen
-- yes dual

-- 2 cols	ενδ ΟΡ πλδ	
	if (args['α'] == 'ενδ' or args['α2'] == 'ενδ' or args['α'] == 'πλδ' or args['α2'] == 'πλδ') and args['δυ'] ~= '-'
	and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
	and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
	then
    	
        du_title_str =  [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:80%; line-height:100%;" colspan="2" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
        
        a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%;" align="center" colspan="1" | ]=] .. args['αοδ'] .. "\n"
        nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="1" | ]=] .. args['οδΛ'] .. "\n"
        a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%;" align="center" colspan="1" | ]=] .. args['αγδ'] .. "\n"
        gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="1" | ]=] .. args['γδΛ'] .. "\n"
    
-- 4 cols 
	elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
	and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
	and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
	then
        du_title_str =  [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:80%; line-height:100%;" colspan="4" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
        
        a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αοδ'] .. '&nbsp;' .. "\n"
        nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['οδΛ'] .. "\n"
        a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αγδ'] .. '&nbsp;' .. "\n"
        gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['γδΛ'] .. "\n"
        
-- 6 cols for  en en2 pl
	elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
	and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
	and (args['υπότιτλος-πλ2'] == '' or args['υπότιτλος-πλ2'] == nil)
	then
        du_title_str =  [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:80%; line-height:100%;" colspan="6" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
        
        a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αοδ'] .. '&nbsp;' .. "\n"
        nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['οδΛ'] .. "\n"
        a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αγδ'] .. '&nbsp;' .. "\n"
        gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['γδΛ'] .. "\n"
        
       
-- 6 cols for  en pl pl2
	elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
	and (args['υπότιτλος-εν2'] == '' or args['υπότιτλος-εν2'] == nil)
	and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
	then
        du_title_str =  [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:80%; line-height:100%;" colspan="6" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
        
        a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αοδ'] .. '&nbsp;' .. "\n"
        nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['οδΛ'] .. "\n"
        a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="3" | ]=] .. args['αγδ'] .. '&nbsp;' .. "\n"
        gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="3" | ]=] .. args['γδΛ'] .. "\n"
        
       
-- 8 cols for  en en2 pl pl2
	elseif (args['α'] ~= 'ενδ' and args['α2'] ~= 'ενδ' and args['α'] ~= 'πλδ' and args['α2'] ~= 'πλδ') and args['δυ'] ~= '-'
	and (args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil)
	and (args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil)
	then
        du_title_str =  [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:80%; line-height:100%;" colspan="8" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
        
        a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="4" | ]=] .. args['αοδ'] .. '&nbsp;' .. "\n"
        nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="4" | ]=] .. args['οδΛ'] .. "\n"
        a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="4" | ]=] .. args['αγδ'] .. '&nbsp;' .. "\n"
        gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="4" | ]=] .. args['γδΛ'] .. "\n"

-- 4 cols  for other combinations........ hope it is ok
	else
        du_title_str =  [=[! style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:80%; line-height:100%;" colspan="4" align="center" | [[δυϊκός|<span title="δυϊκός ἀριθμός" style="color:black;">'''''δυϊκός'''''</span>]]]=] .. "\n"
        
        a_nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αοδ'] .. '&nbsp;' .. "\n"
        nom_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['οδΛ'] .. "\n"
        a_gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord ..
        [=[; font-size:90%; line-height:100%; text-align:right;" align="right" colspan="2" | ]=] .. args['αγδ'] .. '&nbsp;' .. "\n"
        gen_du_str = [=[| style="border-bottom:1px solid ]=] .. c_bord .. [=[; border-right:1px solid ]=] .. c_border ..
        [=[; font-size:90%; line-height:100%;" align="left" colspan="2" | ]=] .. args['γδΛ'] .. "\n"

	end -- close if ... numbers exist
end -- close dual


-- ============================= ROWS

-- stem_line
	if args['θέματα'] ~= '' and args['θέματα'] ~= nil then stem_line =
'|-' .. "\n" .. [=[| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 .. [=[; line-height:100%;" align="left"|  ]=] .. "\n" .. stem_cell .. [=[|-]=]
	end


-- subtitle line
	-- sg, pl have different number
	if (args['υπότιτλος-εν'] ~= '' or args['υπότιτλος-πλ'] ~= '') then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"|  ]=] .. "\n" .. subtitle_sg .. subtitle_pl .. [=[|-]=]
end
	-- 2 singulars, pl
	if args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"|  ]=] .. "\n" .. subtitle_sg .. subtitle_sg2 .. subtitle_pl .. [=[|-]=]
	end
	-- sg, 2 plurals
	if args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"|  ]=] .. "\n" .. subtitle_sg .. subtitle_pl .. subtitle_pl2 .. [=[|-]=]
	end
	-- 2 singulars + 2 plurasl
	if args['υπότιτλος-εν2'] ~= '' and args['υπότιτλος-εν2'] ~= nil and args['υπότιτλος-πλ2'] ~= '' and args['υπότιτλος-πλ2'] ~= nil then subtitle =
'|-' .. "\n" .. [=[| style="background:]=] .. c_2 .. [=[; border-right:1px solid ]=] .. c_1 ..
[=[; text-align:center; font-size:70%; line-height:100%;" align="center"|  ]=] .. "\n" .. subtitle_sg .. subtitle_sg2 .. subtitle_pl .. subtitle_pl2 .. [=[|-]=]
	end	
	
	
	-- ouput WIHTOUT dual
	if args['α'] == 'εν' or args['α2'] == 'εν' or args['α'] == 'πλ' or args['α2'] == 'πλ' or args['δυ'] == '-' or args['καθ'] == '1' or args['kath'] == '1' then
	
	-- + extratitle_str	
	if args['τίτλος'] ~= '' and args['τίτλος'] ~= nil then
		
    output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_1 .. 
	[=[; text-align:left; font-size:;" align="left" colspan="]=] .. columns .. [=[" |]=] .. extratitle_str .. "\n" .. [=[|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str.. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="πτῶσις ὀνομαστική" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[γενική|<span title="πτῶσις γενική" style="color:black;">'''''γενική'''''</span>]]]=] ..
	"\n" .. a_gen_sg_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[δοτική|<span title="πτῶσις δοτική" style="color:black;">'''''δοτική'''''</span>]]]=] ..
	"\n" .. a_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;[[αιτιατική|<span title="πτῶσις αἰτιατική" style="color:black;">'''''αιτιατική'''''</span>]]]=] ..
	"\n" .. a_acc_sg_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
	"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. paratirisi .. appendix .. [=[|}]=]
	
	else -- no extratitle_str
		
    output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str.. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="πτῶσις ὀνομαστική" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[γενική|<span title="πτῶσις γενική" style="color:black;">'''''γενική'''''</span>]]]=] ..
	"\n" .. a_gen_sg_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[δοτική|<span title="πτῶσις δοτική" style="color:black;">'''''δοτική'''''</span>]]]=] ..
	"\n" .. a_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;[[αιτιατική|<span title="πτῶσις αἰτιατική" style="color:black;">'''''αιτιατική'''''</span>]]]=] ..
	"\n" .. a_acc_sg_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
	"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. paratirisi .. appendix .. [=[|}]=]
	end -- close extratitle_str
		
		
	else -- WITH dual
	
	-- + extratitle_str	
	if args['τίτλος'] ~= '' and args['τίτλος'] ~= nil then
		
    output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_extra .. [=[; border-right:1px solid ]=] .. c_1 .. 
	[=[; text-align:left; font-size:;" align="left" colspan="]=] .. columns .. [=[" |]=] .. extratitle_str .. "\n" .. [=[|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str .. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="πτῶσις ὀνομαστική" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[γενική|<span title="πτῶσις γενική" style="color:black;">'''''γενική'''''</span>]]]=] ..
	"\n" .. a_gen_sg_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[δοτική|<span title="πτῶσις δοτική" style="color:black;">'''''δοτική'''''</span>]]]=] ..
	"\n" .. a_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;[[αιτιατική|<span title="πτῶσις αἰτιατική" style="color:black;">'''''αιτιατική'''''</span>]]]=] ..
	"\n" .. a_acc_sg_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
	"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. [=[|-
! style="background:]=] .. c_3 .. [=[; border-top:1px solid ]=] .. c_4 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:center; font-size:90%; line-height:100%;" align="center"| &nbsp; ]=] ..
	"\n" .. du_title_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:85%; line-height:100%;"|  <span title="πτώσεις ὀνομαστικὴ, αἰτιατική καὶ κλητική" style="color:black;">''ονομ-αιτ-κλ''</span>]=] ..
	"\n" .. a_nom_du_str .. nom_du_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:85%; line-height:100%;"| <span title="πτώσεις γενικὴ καὶ δοτική" style="color:black;">''γεν-δοτ''</span>]=] ..
	"\n" .. a_gen_du_str .. gen_du_str .. paratirisi .. appendix .. [=[|}]=]
	
	else -- no extratitle_str
		
    output = [=[{| ]=] .. table_style1 .. [=[
|-
| style="background:]=] .. c_1 .. [=[; border-right:1px solid ]=] .. c_2 ..
	[=[; text-align:center; font-size:90%;" align="center"| &darr;&nbsp;''πτώσεις'' ]=] ..
	"\n" .. sg_title_str .. sg2_title_str .. pl_title_str .. pl2_title_str .. stem_line .. subtitle .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| [[ονομαστική|<span title="πτῶσις ὀνομαστική" style="color:black;">'''''ονομαστική'''''</span>]]]=] ..
	"\n" .. a_nom_sg_str .. nom_sg_str .. a_nom_sg2_str .. nom_sg2_str .. a_nom_pl_str .. nom_pl_str .. a_nom_pl2_str .. nom_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[γενική|<span title="πτῶσις γενική" style="color:black;">'''''γενική'''''</span>]]]=] ..
	"\n" .. a_gen_sg_str .. gen_sg_str .. a_gen_sg2_str .. gen_sg2_str .. a_gen_pl_str .. gen_pl_str .. a_gen_pl2_str .. gen_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[δοτική|<span title="πτῶσις δοτική" style="color:black;">'''''δοτική'''''</span>]]]=] ..
	"\n" .. a_dat_sg_str .. dat_sg_str .. a_dat_sg2_str .. dat_sg2_str .. a_dat_pl_str .. dat_pl_str .. a_dat_pl2_str .. dat_pl2_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:90%;"| &nbsp;&nbsp;&nbsp;&nbsp;[[αιτιατική|<span title="πτῶσις αἰτιατική" style="color:black;">'''''αιτιατική'''''</span>]]]=] ..
	"\n" .. a_acc_sg_str .. acc_sg_str .. a_acc_sg2_str .. acc_sg2_str .. a_acc_pl_str .. acc_pl_str .. a_acc_pl2_str .. acc_pl2_str .. [=[|-
| style="background:]=] .. c_3 ..
	[=[; text-align:right;"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[κλητική|<span title="πτῶσις κλητική" style="color:black; font-size:90%;">'''''κλητική'''''</span>]] [[ὦ|<span style="color:black;">ὦ</span>]]!]=] ..
	"\n" .. a_voc_sg_str .. voc_sg_str .. a_voc_sg2_str .. voc_sg2_str .. a_voc_pl_str .. voc_pl_str .. a_voc_pl2_str .. voc_pl2_str .. [=[|-
! style="background:]=] .. c_3 .. [=[; border-top:1px solid ]=] .. c_4 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:center; font-size:90%; line-height:100%;" align="center"| &nbsp; ]=] ..
	"\n" .. du_title_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:85%; line-height:100%;"|  <span title="πτώσεις ὀνομαστικὴ, αἰτιατική καὶ κλητική" style="color:black;">''ονομ-αιτ-κλ''</span>]=] ..
	"\n" .. a_nom_du_str .. nom_du_str .. [=[|-
| style="background:]=] .. c_3 .. [=[; border-bottom:1px solid ]=] .. c_4 ..
	[=[; text-align:right; font-size:85%; line-height:100%;"| <span title="πτώσεις γενικὴ καὶ δοτική" style="color:black;">''γεν-δοτ''</span>]=] ..
	"\n" .. a_gen_du_str .. gen_du_str .. paratirisi .. appendix .. [=[|}]=]
	end -- close extratitle_str

	end -- close output if dual exists
	
--------------------------------------------------------------------------
--                   4. Categories / Κατηγορίες                         --
--------------------------------------------------------------------------
-- κατηγορία κλίσης = the PartOfSpeech (plus as ProperNouns, Surnames etc)
-- τύπος = the catchword of the category in quotation marks
	-- may be τύπος=-
-- κατ = overrides τύπος
-- υποκατ = (subcatetory) plus another general category added
-- ? lang=kath??
	local page = mw.title.getCurrentTitle()
    page.name = page.text:match( "^%s*(.-)%s*$" )
if page.namespace == 0 then	-- Categories work only in MAIN namespace
	
-- nocat= 
if (args['nocat'] ~= '' and args['nocat'] ~= nil) or (args['00'] ~= '' and args['00'] ~= nil) then
	output = output
else

    	if args['κατηγορία'] ~= '' and args['κατηγορία'] ~= nil then -- free text for Category
    		output = output .. '[[Κατηγορία:' .. args['κατηγορία'] .. ']]'
    	else
			-- special categories (irregulars) --perhaps not needed
			if args['ανώμ'] == '1' then
				output = output .. '[[Κατηγορία:Ουσιαστικά ανώμαλα (' .. lang_name ..')]]'
				if args['αρσ'] == '1' and args['ανώμ'] == '1' then
					output = output .. '[[Κατηγορία:Ουσιαστικά αρσενικά ανώμαλα (' .. lang_name ..')]]'
				elseif args['θηλ'] == '1' and args['ανώμ'] == '1' then
					output = output .. '[[Κατηγορία:Ουσιαστικά θηλυκά ανώμαλα (' .. lang_name ..')]]'
				elseif args['ουδ'] == '1' and args['ανώμ'] == '1' then
					output = output .. '[[Κατηγορία:Ουσιαστικά ουδέτερα ανώμαλα (' .. lang_name ..')]]'
				end
			else
    			-- param κατ= για δημιουργία κατηγοριών που συμπληρώνει ο συντάκτης - editor creates Categories ad libitum
    			-- Υπερισχύει του 'τύπος' - It overrides 'τύπος'
    			cat_decl = args['κατηγορία κλίσης'] or 'Ουσιαστικά'
    			typos = args['τύπος'] or args['τύπος0'] or args['κατ'] or ''
    			if args['τύπος'] == '-' then output = output -- control category:  [[:Κατηγορία:Ουσιαστικά που κλίνονται όπως το '' (' .. lang_name ..')]]'
    			else
    				
    			if args['κατ'] ~= '' and args ['κατ'] ~= nil then
    				typos = args['κατ']		-- check [[αιδώς]]
					output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
   				-- ο τύπος0 ΧΩΡΙΣ αποστρόφους (χρειάζεται όταν η φράση συνεχίζεται. παράδειγμα: ??
   				-- αν χρειαστούν ΔΥΟ παρόμοια, μπορούμε να χρησιμοποιήσουμε το args['υποκατ']
   				elseif args['τύπος0'] ~= '' and args['τύπος0'] ~= nil then
   					typos = args['τύπος0']
   					output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το " .. typos .. "' (" .. lang_name .. ")]]"
   					else
   					typos = args['τύπος']
-- ΥποΚατηγορίες για α, α2 / make subcategories for numbers
cat_decl = args['κατηγορία κλίσης'] or 'Ουσιαστικά'
	if args['α'] == 'εν' or args['α'] == 'ενδ' and (args['κατ'] == '' or args['κατ'] == nil) then
		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' χωρίς πληθυντικό (" .. lang_name .. ")]]"
	elseif args['α'] == 'πλ' or args['α'] == 'πλδ' and (args['κατ'] == '' or args['κατ'] == nil)  then
		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' χωρίς ενικό (" .. lang_name .. ")]]"
	elseif args['α2'] == 'εν' or args['α2'] == 'ενδ'  and (args['κατ'] == '' or args['κατ'] == nil)  then
		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' στον ενικό (" .. lang_name .. ")]]"
	elseif args['α2'] == 'πλ' or args['α2'] == 'πλδ'  and (args['κατ'] == '' or args['κατ'] == nil)  then
		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' στον πληθυντικό (" .. lang_name .. ")]]"
	else
        		--η γλώσσα στην κατηγορία είναι απαραίτητη αν υπάρχουν ίδιοι "τύποι" σε διαφορετικές γλώσσες.
            		output = output .. '[[Κατηγορία:' .. cat_decl .. " που κλίνονται όπως το '" .. typos .. "' (" .. lang_name .. ")]]"
        end -- close typos=-
end -- close subcategories

    			end -- close 'κατ'
        	
-- κλίσεις 1, 2, 3 & βλ. ανώμ=1
	if args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 1ης κλίσης (' .. lang_name .. ')]]' end
	if args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 2ης κλίσης (' .. lang_name .. ')]]' end
	if args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 3ης κλίσης (' .. lang_name .. ')]]' end
-- κλίση + γένος // ?? υπάρχουν κοινού γένους?
	if args['αρσ'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 1ης κλίσης αρσενικά (' .. lang_name .. ')]]' end
	if args['θηλ'] == '1' and args['κλίση'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 1ης κλίσης θηλυκά (' .. lang_name .. ')]]' end
	if args['αρσ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 2ης κλίσης αρσενικά (' .. lang_name .. ')]]' end
	if args['θηλ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 2ης κλίσης θηλυκά (' .. lang_name .. ')]]' end
	if args['ουδ'] == '1' and args['κλίση'] == '2' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 2ης κλίσης ουδέτερα (' .. lang_name .. ')]]' end
	if args['αρσ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 3ης κλίσης αρσενικά (' .. lang_name .. ')]]' end
	if args['θηλ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 3ης κλίσης θηλυκά (' .. lang_name .. ')]]' end
	if args['ουδ'] == '1' and args['κλίση'] == '3' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' 3ης κλίσης ουδέτερα (' .. lang_name .. ')]]' end

    		end -- close irregulars
    	end -- close free text κατηγορία
    	
		-- param υποκατ (subcategory) για δημιουργία συνοδευτικών γενικών κατηγοριών (όπως:... χωρίς πληθυντικό)
		-- ΔΕΝ υπερισχύει. Προστίθεται στις υπάρχουσες Κατηγορίες. - it does NOT override 'τύπος' (Παράδειγμα: [[πλούτος]]: προσθέτει την Κατ.Ουσιαστικά αρσενικά + Κατ.που κλίνονται όπως 'πλούτος')
		cat_decl = args['κατηγορία κλίσης'] or 'Ουσιαστικά'
		if args['υποκατ'] ~= '' and args ['υποκατ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' ' .. args['υποκατ'] .. ' (' .. lang_name .. ')]]'
		end
		if args['υποκατ2'] ~= '' and args ['υποκατ2'] ~= nil then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' ' .. args['υποκατ2'] .. ' (' .. lang_name .. ')]]'
		end

-- subtitles / Κατηγορίες για γένη
	if args['αρσ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' αρσενικά (' .. lang_name .. ')]]' end
	if args['θηλ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' θηλυκά (' .. lang_name .. ')]]' end
	if args['αθ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' κοινού γένους (' .. lang_name .. ')]]' end
	if args['ουδ'] == '1' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' ουδέτερα (' .. lang_name .. ')]]' end
-- έξτρα: υποθετικό 
-- + and args['υποκατ'] == ''
	if args['αρσ'] ~= '1' and args['θηλ'] ~= '1' and args['αθ'] ~= '1' and args['ουδ'] ~= '1' and args['υποκατ'] == '' then
		output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς γένος (' .. lang_name .. ')]]'
	end

-- numbers / Κατηγορίες για τον αριθμό
	if args['α'] == 'εν' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς πληθυντικό (' .. lang_name .. ')]]' end		-- singularia tanutm
	if args['α'] == 'πλ' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς ενικό (' .. lang_name .. ')]]' end			-- pluralia tantum
	if args['α2'] == 'εν' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' στον ενικό (' .. lang_name .. ')]]' end			-- mostly in the singular
	if args['α2'] == 'πλ' then output = output .. '[[Κατηγορία:' .. cat_decl .. ' στον πληθυντικό (' .. lang_name .. ')]]' end		-- mostly in the plural

-- γενικές: αν εμφανίζεται ΜΟΝΟ στον αντίθετο αριθμό, να μην εισάγεται στην Κατηγορία
-- βλ. και επιμέρους functions όπου υπάρχει αυτή η σύμβαση
-- όπως (...) ΜΑΛΛΟΝ μόνον για νέα ελληνικά
	if args['γε'] == '-' then
		if args['α'] ~= 'πλ' and args['α2'] ~= 'πλ' then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς γενική ενικού (' .. lang_name .. ')]]'
		end
	end
-- όταν υπάρχουν 2 πληθυντικοί αλλά λείπει η πρώτη ΜΑΛΛΟΝ μόνον για νέ αλληνικά
	if args['γπ'] == '-' and args['γπ2'] == nil then 
		if args['α'] ~= 'εν' and args['α2'] ~= 'εν' then
			output = output .. '[[Κατηγορία:' .. cat_decl .. ' χωρίς γενική πληθυντικού (' .. lang_name .. ')]]'
		end
	end

	
-- free, ελεύθερη κατηγορία (για πολυλεκτικούς όρους [[Πρότυπο:grc-κλίση-όροι]])
	if args['κατηγ'] ~= '' and args['κατηγ'] ~= nil then
			output = output .. '[[Κατηγορία:' .. args['κατηγ'] .. ' (' .. lang_name .. ')]]'
	end
end -- close nocat	
end -- close 'if namespace'


return output -- close fulltable

end


















----------------------------------------------------------------------------------------
--    GENERAL PATTERNS of DECLENSIONS  / ΜΗΤΡΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΚΛΙΣΕΩΝ
-----------------------------------------------------------------------------------------

--------------------------------5. DECL--------------------------------------
-- decl - it creates functions for specific declensions at the function pages
-- otherwise, it is EXACTLY like free
-----------------------------------------------------------------------------
decl = function(args)	-- creates functions at the /function page
-- lemma is PAGENAME or editor adds |λήμμα=
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end 

-- stems 
    local stemnumber = 0
    if minusletters ~= '' and minusletters ~= nil then
    	stemnumber = minusletters+1
    end
    -- take away the number of letters the editor wants
    minusletters = args['μείον'] or ''
    if args['μείον'] == '' and args['μείον'] == nil then args['μείον'] = 2 end

    -- if lemma is in plural number(α) then take away the ending οπ (= nom.pl)
	    if args['α'] ~= "πλ" or args['α2'] ~= "πλ" then
	    	if args['οε'] == '' or args['οε'] == nil then
	    	minusletters = 2
	    	else
	        minusletters = tonumber(mw.ustring.len(args['οε']))
	        end
	    end
	    if args['α'] == "πλ" or args['α2'] == "πλ" then
	    	if args['οπ'] == '' or args['οπ'] == nil then
	    	minusletters = 2
	    	else
	        minusletters = tonumber(mw.ustring.len(args['οπ']))	-- but if |λήμμα= then it MUST be the plural
	        end
	    end
	
-- stems
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-minusletters-1)	-- stem as found at lemma
    stem["θ0"] = m_stems.word0(stem["θ"])					-- REMOVE ACCENT
 
    stem["θ1"] = m_stems.word1(stem["θ0"])					-- accent oksia at ultima (last syllable, syllable1 from the end) which is the word's 2nd syllable from the end
    stem["θ2"] = m_stems.word2(stem["θ0"])					-- accent oksia at penultima (syllable2 from end)
    stem["θ1ο"] = m_stems.PerispomeniToOxia(stem["θ"])		-- convert
    stem["θ1π"] = m_stems.OxiaToPerispomeni(stem["θ"])		-- convert
	
args['τύπος'] = args['τύπος'] or ''
-- whole words
	args['οεΛ'] = args['οεΛ'] or ''
	args['γεΛ'] = args['γεΛ'] or ''
	args['δεΛ'] = args['δεΛ'] or ''
	args['αεΛ'] = args['αεΛ'] or ''
	args['κεΛ'] = args['κεΛ'] or ''
	args['οπΛ'] = args['οπΛ'] or ''
	args['γπΛ'] = args['γπΛ'] or ''
	args['δπΛ'] = args['δπΛ'] or ''
	args['απΛ'] = args['απΛ'] or ''
	args['κπΛ'] = args['κπΛ'] or ''
	args['οδΛ'] = args['οδΛ'] or ''
	args['γδΛ'] = args['γδΛ'] or ''
--
	args['οε2Λ'] = args['οε2Λ'] or ''
	args['γε2Λ'] = args['γε2Λ'] or ''
	args['δε2Λ'] = args['δε2Λ'] or ''
	args['αε2Λ'] = args['αε2Λ'] or ''
	args['κε2Λ'] = args['κε2Λ'] or ''
	args['οπ2Λ'] = args['οπ2Λ'] or ''
	args['γπ2Λ'] = args['γπ2Λ'] or ''
	args['δπ2Λ'] = args['δπ2Λ'] or ''
	args['απ2Λ'] = args['απ2Λ'] or ''
	args['κπ2Λ'] = args['κπ2Λ'] or ''
	args['οδ2Λ'] = args['οδ2Λ'] or ''
	args['γδ2Λ'] = args['γδ2Λ'] or ''
	
-- για γε, οπ, γπ, απ, κπ
	args['πρόσφ'] = args['πρόσφ'] or ''
	args['πρόσφ2'] = args['πρόσφ2'] or ''
	args['κοινό1'] = args['κοινό1'] or ''
	args['κοινό'] = args['κοινό'] or ''

-- κείμενο μετά τη λέξη
    args['οεΛκειμ'] = args['οεΛκειμ'] or ''
    args['γεΛκειμ'] = args['γεΛκειμ'] or ''
    args['δεΛκειμ'] = args['δεΛκειμ'] or ''
    args['αεΛκειμ'] = args['αεΛκειμ'] or ''
    args['κεΛκειμ'] = args['κεΛκειμ'] or ''
    args['οπΛκειμ'] = args['οπΛκειμ'] or ''
    args['γπΛκειμ'] = args['γπΛκειμ'] or ''
    args['δπΛκειμ'] = args['δπΛκειμ'] or ''
    args['απΛκειμ'] = args['απΛκειμ'] or ''
    args['κπΛκειμ'] = args['κπΛκειμ'] or ''
    args['οδΛκειμ'] = args['οδΛκειμ'] or ''
    args['γδΛκειμ'] = args['γδΛκειμ'] or ''
    
    args['οε2Λκειμ'] = args['ο2εΛκειμ'] or ''
    args['γε2Λκειμ'] = args['γε2Λκειμ'] or ''
    args['δε2Λκειμ'] = args['δε2Λκειμ'] or ''
    args['αε2Λκειμ'] = args['αε2Λκειμ'] or ''
    args['κε2Λκειμ'] = args['κε2Λκειμ'] or ''
    args['οπ2Λκειμ'] = args['οπ2Λκειμ'] or ''
    args['γπ2Λκειμ'] = args['γπ2Λκειμ'] or ''
    args['δπ2Λκειμ'] = args['δπ2Λκειμ'] or ''
    args['απ2Λκειμ'] = args['απ2Λκειμ'] or ''
    args['κπ2Λκειμ'] = args['κπ2Λκειμ'] or ''
    args['οδ2Λκειμ'] = args['οδ2Λκειμ'] or ''
    args['γδ2Λκειμ'] = args['γδ2Λκειμ'] or ''
    
-- κείμενο πριν τη λέξη
    args['οεΛκειμ1'] = args['οεΛκειμ1'] or ''
    args['γεΛκειμ1'] = args['γεΛκειμ1'] or ''
    args['δεΛκειμ1'] = args['δεΛκειμ1'] or ''
    args['αεΛκειμ1'] = args['αεΛκειμ1'] or ''
    args['κεΛκειμ1'] = args['κεΛκειμ1'] or ''
    args['οπΛκειμ1'] = args['οπΛκειμ1'] or ''
    args['γπΛκειμ1'] = args['γπΛκειμ1'] or ''
    args['δπΛκειμ1'] = args['δπΛκειμ1'] or ''
    args['απΛκειμ1'] = args['απΛκειμ1'] or ''
    args['κπΛκειμ1'] = args['κπΛκειμ1'] or ''
    args['οδΛκειμ1'] = args['οδΛκειμ1'] or ''
    args['γδΛκειμ1'] = args['γδΛκειμ1'] or ''
    
    args['οε2Λκειμ1'] = args['ο2εΛκειμ1'] or ''
    args['γε2Λκειμ1'] = args['γε2Λκειμ1'] or ''
    args['δε2Λκειμ1'] = args['δε2Λκειμ1'] or ''
    args['αε2Λκειμ1'] = args['αε2Λκειμ1'] or ''
    args['κε2Λκειμ1'] = args['κε2Λκειμ1'] or ''
    args['οπ2Λκειμ1'] = args['οπ2Λκειμ1'] or ''
    args['γπ2Λκειμ1'] = args['γπ2Λκειμ1'] or ''
    args['δπ2Λκειμ1'] = args['δπ2Λκειμ1'] or ''
    args['απ2Λκειμ1'] = args['απ2Λκειμ1'] or ''
    args['κπ2Λκειμ1'] = args['κπ2Λκειμ1'] or ''
    args['οδ2Λκειμ1'] = args['οδ2Λκειμ1'] or ''
    args['γδ2Λκειμ1'] = args['γδ2Λκειμ1'] or ''

-- make forms / χτίσιμο τύπων ---------------------------------
-- + αν υπάρχει εμφάνιση προσωδίας στην κατάληξη. Η προσωδία του θέματος, στο |θέματα=
-- το: and args είναι απαραίτητο, αλλιώς δίνει error nil

-- ονομαστική ενικού (without infixed letters)
	-- default stem
	if args['οεθ'] == '' or args['οεθ'] == nil then
		args['οεθ'] = stem["θ"]
	else args['οεθ'] = args['οεθ']
	end
	if args['οε2θ'] == '' or args['οε2θ'] == nil then
		args['ο2εθ'] = stem["θ"]
	else args['οε2θ'] = args['οε2θ']
	end
	
	-- zero ending
	if args['οε'] == '0' then	-- [[πῦρ]]
	args['οεΛ'] = args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ']), (stem_color(args['οεθ']))) .. args['κοινό'] .. args['οεΛκειμ']
	end
	if args['οε2'] == '0' then
	args['οε2Λ'] = args['οε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οε2θ']), (stem_color(args['οε2θ']))) .. args['κοινό'] .. args['οε2Λκειμ']
	end
	
	-- first word
	if args['οε'] ~= '-' and args['οε'] ~= '0' and args['οε'] ~= '' and args['οε'] ~= nil then
		if args['οε+'] ~= '' and args['οε+'] ~= nil then
		args['οεΛ'] = args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε+']))) .. args['κοινό'] .. args['οεΛκειμ']
	    else
    	args['οεΛ'] = args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε']))) .. args['κοινό'] .. args['οεΛκειμ']
		end
	elseif args['οε'] == '-' then
   		args['οεΛ'] = args['οεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οεΛκειμ']
	end
   	-- second word at new line
   	if args['οε2'] ~= '-' and args['οε2'] ~= '0' and args['οε2'] ~= '' and args['οε2'] ~= nil then
		if args['οε2θ'] == '' or args['οε2θ'] == nil then args['οε2θ'] = args['οεθ'] end
		if args['οε2+'] ~= '' and args['οε2+'] ~= nil then
		args['οε2Λ'] = '<br />&&nbsp;' .. args['οε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οε2θ'] .. args['οε2']), (stem_color(args['οε2θ']) .. ending_color(args['οε2+']))) .. args['κοινό'] .. args['οε2Λκειμ']
	    else
    	args['οε2Λ'] = '<br />&&nbsp;' .. args['οε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οε2θ'] .. args['οε2']), (stem_color(args['οε2θ']) .. ending_color(args['οε2']))) .. args['κοινό'] .. args['οε2Λκειμ']
		end	
   	elseif args['οε2'] == '-' then
   		args['οε2Λ'] = '<br />&&nbsp;' .. args['οε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οε2Λκειμ']
   	end
	-- in parenthesis
	if args['οε0'] ~= '' and args['οε0'] ~= nil then
		if args['οε0+'] ~= '' and args['οε0+'] ~= nil then
		args['οεΛ'] = '(' .. args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε0']), (stem_color(args['οεθ']) .. ending_color(args['οε0+']))) .. args['κοινό'] .. args['οεΛκειμ']
	    else
    	args['οεΛ'] = '(' .. args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε0']), (stem_color(args['οεθ']) .. ending_color(args['οε0']))) .. args['κοινό'] .. args['οεΛκειμ']
		end	
	end
   
    args['οεΛ'] = args['οεΛ'] .. args['οε2Λ']   


-- γενική ενικού PLUS infixed letters
	-- default stem
	if args['γεθ'] == '' or args['γεθ'] == nil then
		args['γεθ'] = stem["θ"]
	else args['γεθ'] = args['γεθ']
	end
	if args['γε2θ'] == '' or args['γε2θ'] == nil then
		args['γε2θ'] = stem["θ"]
	else args['γε2θ'] = args['γε2θ']
	end

	-- zero ending
	if args['γε'] == '0' then
	args['γεΛ'] = args['γεΛκειμ1'] .. args['κοινό1'] .. create_link((args['γεθ']), (stem_color(args['γεθ']))) .. args['κοινό'] .. args['γεΛκειμ']
	end
	if args['γε2'] == '0' then
	args['γε2Λ'] = args['γε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['γε2θ']), (stem_color(args['γε2θ']))) .. args['κοινό'] .. args['γε2Λκειμ']
	end

	-- first word + infixed letters
	if args['γε'] ~= '-' and args['γε'] ~= '0' and args['γε'] ~= '' and args['γε'] ~= nil then
		if args['γε+'] ~= '' and args['γε+'] ~= nil then
		args['γεΛ'] = args['γεΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε+']))) .. args['κοινό'] .. args['γεΛκειμ']
	    else
    	args['γεΛ'] = args['γεΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε']))) .. args['κοινό'] .. args['γεΛκειμ']
		end
   	elseif args['γε'] == '-' then
   		args['γεΛ'] = args['γεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γεΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['γε2'] ~= '-' and args['γε2'] ~= '0' and args['γε2'] ~= '' and args['γε2'] ~= nil then
		if args['γε2θ'] == '' or args['γε2θ'] == nil then args['γε2θ'] = args['γεθ'] end
		if args['γε2+'] ~= '' and args['γε2+'] ~= nil then
		args['γε2Λ'] = '<br />&&nbsp;' .. args['γε2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γε2θ'] .. args['πρόσφ2'] .. args['γε2']), (stem_color(args['γε2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γε2+']))) .. args['κοινό'] .. args['γε2Λκειμ']
	    else
		args['γε2Λ'] = '<br />&&nbsp;' .. args['γε2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γε2θ'] .. args['πρόσφ2'] .. args['γε2']), (stem_color(args['γε2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γε2']))) .. args['κοινό'] .. args['γε2Λκειμ']
		end	
   	elseif args['γε2'] == '-' then
   		args['γε2Λ'] = '<br />&&nbsp;' .. args['γε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γε2Λκειμ']
   	end
	-- in parenthesis
	if args['γε0'] ~= '' and args['γε0'] ~= nil then
		if args['γε0+'] ~= '' and args['γε0+'] ~= nil then
		args['γεΛ'] = '(' .. args['γεΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε0']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε0+']))) .. args['κοινό'] .. args['γεΛκειμ']
	    else
    	args['γεΛ'] = '(' .. args['γεΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε0']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε0']))) .. args['κοινό'] .. args['γεΛκειμ']
		end	
	end

    args['γεΛ'] = args['γεΛ'] .. args['γε2Λ']   


-- δοτική ενικού ending='0' is hypothetical
	-- default stem
	if args['δεθ'] == '' or args['δεθ'] == nil then
		args['δεθ'] = stem["θ"]
	else args['δεθ'] = args['δεθ']
	end
	if args['δε2θ'] == '' or args['δε2θ'] == nil then
		args['δε2θ'] = stem["θ"]
	else args['δε2θ'] = args['δε2θ']
	end

	-- zero ending
	if args['δε'] == '0' then
	args['δεΛ'] = args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ']), (stem_color(args['δεθ']))) .. args['κοινό'] .. args['δεΛκειμ']
	end
	if args['δε2'] == '0' then
	args['δε2Λ'] = args['δε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δε2θ']), (stem_color(args['δε2θ']))) .. args['κοινό'] .. args['δε2Λκειμ']
	end

	-- first word
	if args['δε'] ~= '-' and args['δε'] ~= '0' and args['δε'] ~= '' and args['δε'] ~= nil then
		if args['δε+'] ~= '' and args['δε+'] ~= nil then
		args['δεΛ'] = args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε']), (stem_color(args['δεθ']) .. ending_color(args['δε+']))) .. args['κοινό'] .. args['δεΛκειμ']
	    else
    	args['δεΛ'] = args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε']), (stem_color(args['δεθ']) .. ending_color(args['δε']))) .. args['κοινό'] .. args['δεΛκειμ']
		end
   	elseif args['δε'] == '-' then
   		args['δεΛ'] = args['δεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δεΛκειμ']
   	end
   	
	-- second word at new line
   	if args['δε2'] ~= '-' and args['δε2'] ~= '0' and args['δε2'] ~= '' and args['δε2'] ~= nil then
		if args['δε2θ'] == '' or args['δε2θ'] == nil then args['δε2θ'] = args['δεθ'] end
		if args['δε2+'] ~= '' and args['δε2+'] ~= nil then
		args['δε2Λ'] = '<br />&&nbsp;' .. args['δε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δε2θ'] .. args['δε2']), (stem_color(args['δε2θ']) .. ending_color(args['δε2+']))) .. args['κοινό'] .. args['δε2Λκειμ']
	    else
		args['δε2Λ'] = '<br />&&nbsp;' .. args['δε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δε2θ'] .. args['δε2']), (stem_color(args['δε2θ']) .. ending_color(args['δε2']))) .. args['κοινό'] .. args['δε2Λκειμ']
		end	
   	elseif args['δε2'] == '-' then
   		args['δε2Λ'] = '<br />&&nbsp;' .. args['δε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δε2Λκειμ']
   	end
	-- in parenthesis
	if args['δε0'] ~= '' and args['δε0'] ~= nil then
		if args['δε0+'] ~= '' and args['δε0+'] ~= nil then
		args['δεΛ'] = '(' .. args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε0']), (stem_color(args['δεθ']) .. ending_color(args['δε0+']))) .. args['κοινό'] .. args['δεΛκειμ']
	    else
    	args['δεΛ'] = '(' .. args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε0']), (stem_color(args['δεθ']) .. ending_color(args['δε0']))) .. args['κοινό'] .. args['δεΛκειμ']
		end	
	end

    args['δεΛ'] = args['δεΛ'] .. args['δε2Λ']   


-- αιτιατική ενικού
	-- default stem
	if args['αεθ'] == '' or args['αεθ'] == nil then
		args['αεθ'] = stem["θ"]
	else args['αεθ'] = args['αεθ']
	end
	if args['αε2θ'] == '' or args['αε2θ'] == nil then
		args['αε2θ'] = stem["θ"]
	else args['αε2θ'] = args['αε2θ']
	end

	-- zero ending
	if args['αε'] == '0' then
	args['αεΛ'] = args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ']), (stem_color(args['αεθ']))) .. args['κοινό'] .. args['αεΛκειμ']
	end
	if args['αε2'] == '0' then
	args['αε2Λ'] = args['αε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['αε2θ']), (stem_color(args['αε2θ']))) .. args['κοινό'] .. args['αε2Λκειμ']
	end

	-- first word
	if args['αε'] ~= '-' and args['αε'] ~= '0' and args['αε'] ~= '' and args['αε'] ~= nil then
		if args['αε+'] ~= '' and args['αε+'] ~= nil then
		args['αεΛ'] = args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε']), (stem_color(args['αεθ']) .. ending_color(args['αε+']))) .. args['κοινό'] .. args['αεΛκειμ']
	    else
    	args['αεΛ'] = args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε']), (stem_color(args['αεθ']) .. ending_color(args['αε']))) .. args['κοινό'] .. args['αεΛκειμ']
		end
   	elseif args['αε'] == '-' then
   		args['αεΛ'] = args['αεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['αεΛκειμ']
   	end
   	
	-- second word at new line
   	if args['αε2'] ~= '-' and args['αε2'] ~= '0' and args['αε2'] ~= '' and args['αε2'] ~= nil then
		if args['αε2θ'] == '' or args['αε2θ'] == nil then args['αε2θ'] = args['αεθ'] end	
		if args['αε2+'] ~= '' and args['αε2+'] ~= nil then
		args['αε2Λ'] = '<br />&&nbsp;' .. args['αε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['αε2θ'] .. args['αε2']), (stem_color(args['αε2θ']) .. ending_color(args['αε2+']))) .. args['κοινό'] .. args['αε2Λκειμ']
	    else
		args['αε2Λ'] = '<br />&&nbsp;' .. args['αε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['αε2θ'] .. args['αε2']), (stem_color(args['αε2θ']) .. ending_color(args['αε2']))) .. args['κοινό'] .. args['αε2Λκειμ']
		end	
   	elseif args['αε2'] == '-' then
   		args['αε2Λ'] = '<br />&&nbsp;' .. args['αε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['αε2Λκειμ']
   	end
	-- in parenthesis
	if args['αε0'] ~= '' and args['αε0'] ~= nil then
		if args['αε0+'] ~= '' and args['αε0+'] ~= nil then
		args['αεΛ'] = '(' .. args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε0']), (stem_color(args['αεθ']) .. ending_color(args['αε0+']))) .. args['κοινό'] .. args['αεΛκειμ']
	    else
    	args['αεΛ'] = '(' .. args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε0']), (stem_color(args['αεθ']) .. ending_color(args['αε0']))) .. args['κοινό'] .. args['αεΛκειμ']
		end	
	end

    args['αεΛ'] = args['αεΛ'] .. args['αε2Λ']   


-- κλητική ενικού
	-- default stem
	if args['κεθ'] == '' or args['κεθ'] == nil then
		args['κεθ'] = stem["θ"]
	else args['κεθ'] = args['κεθ']
	end
	if args['κε2θ'] == '' or args['κε2θ'] == nil then
		args['κε2θ'] = stem["θ"]
	else args['κε2θ'] = args['κε2θ']
	end

	-- zero ending
	if args['κε'] == '0' then
	args['κεΛ'] = args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ']), (stem_color(args['κεθ']))) .. args['κοινό'] .. args['κεΛκειμ']
	end
	if args['κε2'] == '0' then
	args['κε2Λ'] = args['κε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κε2θ']), (stem_color(args['κε2θ']))) .. args['κοινό'] .. args['κε2Λκειμ']
	end

	-- first word
	if args['κε'] ~= '-' and args['κε'] ~= '0' and args['κε'] ~= '' and args['κε'] ~= nil then
		if args['κε+'] ~= '' and args['κε+'] ~= nil then
		args['κεΛ'] = args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε+']))) .. args['κοινό'] .. args['κεΛκειμ']
	    else
    	args['κεΛ'] = args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε']))) .. args['κοινό'] .. args['κεΛκειμ']
		end
   	elseif args['κε'] == '-' then
   		args['κεΛ'] = args['κεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κεΛκειμ']
   	end
   	
	-- second word at new line
   	if args['κε2'] ~= '-' and args['κε2'] ~= '0' and args['κε2'] ~= '' and args['κε2'] ~= nil then
		if args['κε2θ'] == '' or args['κε2θ'] == nil then args['κε2θ'] = args['κεθ'] end
		if args['κε2+'] ~= '' and args['κε2+'] ~= nil then
		args['κε2Λ'] = '<br />&&nbsp;' .. args['κε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κε2θ'] .. args['κε2']), (stem_color(args['κε2θ']) .. ending_color(args['κε2+']))) .. args['κοινό'] .. args['κε2Λκειμ']
	    else
		args['κε2Λ'] = '<br />&&nbsp;' .. args['κε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κε2θ'] .. args['κε2']), (stem_color(args['κε2θ']) .. ending_color(args['κε2']))) .. args['κοινό'] .. args['κε2Λκειμ']
		end	
   	elseif args['κε2'] == '-' then
   		args['κε2Λ'] = '<br />&&nbsp;' .. args['κε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κε2Λκειμ']
   	end
	-- in parenthesis
	if args['κε0'] ~= '' and args['κε0'] ~= nil then
		if args['κε0+'] ~= '' and args['κε0+'] ~= nil then
		args['κεΛ'] = '(' .. args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε0']), (stem_color(args['κεθ']) .. ending_color(args['κε0+']))) .. args['κοινό'] .. args['κεΛκειμ']
	    else
    	args['κεΛ'] = '(' .. args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε0']), (stem_color(args['κεθ']) .. ending_color(args['κε0']))) .. args['κοινό'] .. args['κεΛκειμ']
		end	
	end

    args['κεΛ'] = args['κεΛ'] .. args['κε2Λ']   


-- ΟΝΟΜΑΣΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['οπθ'] == '' or args['οπθ'] == nil then
		args['οπθ'] = stem["θ"]
	else args['οπθ'] = args['οπθ']
	end
	if args['οπ2θ'] == '' or args['οπ2θ'] == nil then
		args['οπ2θ'] = stem["θ"]
	else args['οπ2θ'] = args['οπ2θ']
	end

	-- zero ending
	if args['οπ'] == '0' then
	args['οπΛ'] = args['οπΛκειμ1'] .. args['κοινό1'] .. create_link((args['οπθ']), (stem_color(args['οπθ']))) .. args['κοινό'] .. args['οπΛκειμ']
	end
	if args['οπ2'] == '0' then
	args['οπ2Λ'] = args['οπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οπ2θ']), (stem_color(args['οπ2θ']))) .. args['κοινό'] .. args['οπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['οπ'] ~= '-' and args['οπ'] ~= '0' and args['οπ'] ~= '' and args['οπ'] ~= nil then
		if args['οπ+'] ~= '' and args['οπ+'] ~= nil then
		args['οπΛ'] = args['οπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ+']))) .. args['κοινό'] .. args['οπΛκειμ']
	    else
    	args['οπΛ'] = args['οπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ']))) .. args['κοινό'] .. args['οπΛκειμ']
		end
   	elseif args['οπ'] == '-' then
   		args['οπΛ'] = args['οπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['οπ2'] ~= '-' and args['οπ2'] ~= '0' and args['οπ2'] ~= '' and args['οπ2'] ~= nil then
		if args['οπ2θ'] == '' or args['οπ2θ'] == nil then args['οπ2θ'] = args['οπθ'] end
		if args['οπ2+'] ~= '' and args['οπ2+'] ~= nil then
		args['οπ2Λ'] = '<br />&&nbsp;' .. args['οπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπ2θ'] .. args['πρόσφ2'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οπ2+']))) .. args['κοινό'] .. args['οπ2Λκειμ']
	    else
		args['οπ2Λ'] = '<br />&&nbsp;' .. args['οπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπ2θ'] .. args['πρόσφ2'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οπ2']))) .. args['κοινό'] .. args['οπ2Λκειμ']
		end	
   	elseif args['οπ2'] == '-' then
   		args['οπ2Λ'] = '<br />&&nbsp;' .. args['οπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οπ2Λκειμ']
   	end
	-- in parenthesis
	if args['οπ0'] ~= '' and args['οπ0'] ~= nil then
		if args['οπ0+'] ~= '' and args['οπ0+'] ~= nil then
		args['οπΛ'] = '(' .. args['οπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ0']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ0+']))) .. args['κοινό'] .. args['οπΛκειμ']
	    else
    	args['οπΛ'] = '(' .. args['οπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ0']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ0']))) .. args['κοινό'] .. args['οπΛκειμ']
		end	
	end

    args['οπΛ'] = args['οπΛ'] .. args['οπ2Λ']   

-- ΓΕΝΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['γπθ'] == '' or args['γπθ'] == nil then
		args['γπθ'] = stem["θ"]
	else args['γπθ'] = args['γπθ']
	end
	if args['γπ2θ'] == '' or args['γπ2θ'] == nil then
		args['γπ2θ'] = stem["θ"]
	else args['γπ2θ'] = args['γπ2θ']
	end

	-- zero ending
	if args['γπ'] == '0' then
	args['γπΛ'] = args['γπΛκειμ1'] .. args['κοινό1'] .. create_link((args['γπθ']), (stem_color(args['γπθ']))) .. args['κοινό'] .. args['γπΛκειμ']
	end
	if args['γπ2'] == '0' then
	args['γπ2Λ'] = args['γπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['γπ2θ']), (stem_color(args['γπ2θ']))) .. args['κοινό'] .. args['γπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['γπ'] ~= '-' and args['γπ'] ~= '0' and args['γπ'] ~= '' and args['γπ'] ~= nil then
		if args['γπ+'] ~= '' and args['γπ+'] ~= nil then
		args['γπΛ'] = args['γπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ+']))) .. args['κοινό'] .. args['γπΛκειμ']
	    else
    	args['γπΛ'] = args['γπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ']))) .. args['κοινό'] .. args['γπΛκειμ']
		end
   	elseif args['γπ'] == '-' then
   		args['γπΛ'] = args['γπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['γπ2'] ~= '-' and args['γπ2'] ~= '0' and args['γπ2'] ~= '' and args['γπ2'] ~= nil then
		if args['γπ2θ'] == '' or args['γπ2θ'] == nil then args['γπ2θ'] = args['γπθ'] end
		if args['γπ2+'] ~= '' and args['γπ2+'] ~= nil then
		args['γπ2Λ'] = '<br />&&nbsp;' .. args['γπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπ2θ'] .. args['πρόσφ2'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γπ2+']))) .. args['κοινό'] .. args['γπ2Λκειμ']
	    else
		args['γπ2Λ'] = '<br />&&nbsp;' .. args['γπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπ2θ'] .. args['πρόσφ2'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γπ2']))) .. args['κοινό'] .. args['γπ2Λκειμ']
		end	
   	elseif args['γπ2'] == '-' then
   		args['γπ2Λ'] = '<br />&&nbsp;' .. args['γπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γπ2Λκειμ']
   	end
	-- in parenthesis
	if args['γπ0'] ~= '' and args['γπ0'] ~= nil then
		if args['γπ0+'] ~= '' and args['γπ0+'] ~= nil then
		args['γπΛ'] = '(' .. args['γπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ0']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ0+']))) .. args['κοινό'] .. args['γπΛκειμ']
	    else
    	args['γπΛ'] = '(' .. args['γπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ0']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ0']))) .. args['κοινό'] .. args['γπΛκειμ']
		end	
	end

    args['γπΛ'] = args['γπΛ'] .. args['γπ2Λ']   


-- ΔΟΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['δπθ'] == '' or args['δπθ'] == nil then
		args['δπθ'] = stem["θ"]
	else args['δπθ'] = args['δπθ']
	end
	if args['δπ2θ'] == '' or args['δπ2θ'] == nil then
		args['δπ2θ'] = stem["θ"]
	else args['δπ2θ'] = args['δπ2θ']
	end

	-- zero ending
	if args['δπ'] == '0' then
	args['δπΛ'] = args['δπΛκειμ1'] .. args['κοινό1'] .. create_link((args['δπθ']), (stem_color(args['δπθ']))) .. args['κοινό'] .. args['δπΛκειμ']
	end
	if args['δπ2'] == '0' then
	args['δπ2Λ'] = args['δπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δπ2θ']), (stem_color(args['δπ2θ']))) .. args['κοινό'] .. args['δπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['δπ'] ~= '-' and args['δπ'] ~= '0' and args['δπ'] ~= '' and args['δπ'] ~= nil then
		if args['δπ+'] ~= '' and args['δπ+'] ~= nil then
		args['δπΛ'] = args['δπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ+']))) .. args['κοινό'] .. args['δπΛκειμ']
	    else
    	args['δπΛ'] = args['δπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ']))) .. args['κοινό'] .. args['δπΛκειμ']
		end
   	elseif args['δπ'] == '-' then
   		args['δπΛ'] = args['δπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['δπ2'] ~= '-' and args['δπ2'] ~= '0' and args['δπ2'] ~= '' and args['δπ2'] ~= nil then
		if args['δπ2θ'] == '' or args['δπ2θ'] == nil then args['δπ2θ'] = args['δπθ'] end
		if args['δπ2+'] ~= '' and args['δπ2+'] ~= nil then
		args['δπ2Λ'] = '<br />&&nbsp;' .. args['δπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπ2θ'] .. args['πρόσφ2'] .. args['δπ2']), (stem_color(args['δπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['δπ2+']))) .. args['κοινό'] .. args['δπ2Λκειμ']
	    else
		args['δπ2Λ'] = '<br />&&nbsp;' .. args['δπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπ2θ'] .. args['πρόσφ2'] .. args['δπ2']), (stem_color(args['δπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['δπ2']))) .. args['κοινό'] .. args['δπ2Λκειμ']
		end	
   	elseif args['δπ2'] == '-' then
   		args['δπ2Λ'] = '<br />&&nbsp;' .. args['δπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δπ2Λκειμ']
   	end
	-- in parenthesis
	if args['δπ0'] ~= '' and args['δπ0'] ~= nil then
		if args['δπ0+'] ~= '' and args['δπ0+'] ~= nil then
		args['δπΛ'] = '(' .. args['δπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ0']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ0+']))) .. args['κοινό'] .. args['δπΛκειμ']
	    else
    	args['δπΛ'] = '(' .. args['δπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ0']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ0']))) .. args['κοινό'] .. args['δπΛκειμ']
		end	
	end

    args['δπΛ'] = args['δπΛ'] .. args['δπ2Λ'] 

-- ΑΙΤΙΑΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed leters
	-- default stem
	if args['απθ'] == '' or args['απθ'] == nil then
		args['απθ'] = stem["θ"]
	else args['απθ'] = args['απθ']
	end
	if args['απ2θ'] == '' or args['απ2θ'] == nil then
		args['απ2θ'] = stem["θ"]
	else args['απ2θ'] = args['απ2θ']
	end

	-- zero ending
	if args['απ'] == '0' then
	args['απΛ'] = args['απΛκειμ1'] .. args['κοινό1'] .. create_link((args['απθ']), (stem_color(args['απθ']))) .. args['κοινό'] .. args['απΛκειμ']
	end
	if args['απ2'] == '0' then
	args['απ2Λ'] = args['απ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['απ2θ']), (stem_color(args['απ2θ']))) .. args['κοινό'] .. args['απ2Λκειμ']
	end

	-- first word + infixed letters
	if args['απ'] ~= '-' and args['απ'] ~= '0' and args['απ'] ~= '' and args['απ'] ~= nil then
		if args['απ+'] ~= '' and args['απ+'] ~= nil then
		args['απΛ'] = args['απΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ+']))) .. args['κοινό'] .. args['απΛκειμ']
	    else
    	args['απΛ'] = args['απΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ']))) .. args['κοινό'] .. args['απΛκειμ']
		end
   	elseif args['απ'] == '-' then
   		args['απΛ'] = args['απΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['απΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['απ2'] ~= '-' and args['απ2'] ~= '0' and args['απ2'] ~= '' and args['απ2'] ~= nil then
		if args['απ2θ'] == '' or args['απ2θ'] == nil then args['απ2θ'] = args['απθ'] end
		if args['απ2+'] ~= '' and args['απ2+'] ~= nil then
		args['απ2Λ'] = '<br />&&nbsp;' .. args['απ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απ2θ'] .. args['πρόσφ2'] .. args['απ2']), (stem_color(args['απ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['απ2+']))) .. args['κοινό'] .. args['απ2Λκειμ']
	    else
		args['απ2Λ'] = '<br />&&nbsp;' .. args['απ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απ2θ'] .. args['πρόσφ2'] .. args['απ2']), (stem_color(args['απ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['απ2']))) .. args['κοινό'] .. args['απ2Λκειμ']
		end	
   	elseif args['απ2'] == '-' then
   		args['απ2Λ'] = '<br />&&nbsp;' .. args['απ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['απ2Λκειμ']
   	end
	-- in parenthesis
	if args['απ0'] ~= '' and args['απ0'] ~= nil then
		if args['απ0+'] ~= '' and args['απ0+'] ~= nil then
		args['απΛ'] = '(' .. args['απΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ0']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ0+']))) .. args['κοινό'] .. args['απΛκειμ']
	    else
    	args['απΛ'] = '(' .. args['απΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ0']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ0']))) .. args['κοινό'] .. args['απΛκειμ']
		end	
	end

    args['απΛ'] = args['απΛ'] .. args['απ2Λ'] 


-- ΚΛΗΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['κπθ'] == '' or args['κπθ'] == nil then
		args['κπθ'] = stem["θ"]
	else args['κπθ'] = args['κπθ']
	end
	if args['κπ2θ'] == '' or args['κπ2θ'] == nil then
		args['κπ2θ'] = stem["θ"]
	else args['κπ2θ'] = args['κπ2θ']
	end

	-- zero ending
	if args['κπ'] == '0' then
	args['κπΛ'] = args['κπΛκειμ1'] .. args['κοινό1'] .. create_link((args['κπθ']), (stem_color(args['κπθ']))) .. args['κοινό'] .. args['κπΛκειμ']
	end
	if args['κπ2'] == '0' then
	args['κπ2Λ'] = args['κπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κπ2θ']), (stem_color(args['κπ2θ']))) .. args['κοινό'] .. args['κπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['κπ'] ~= '-' and args['κπ'] ~= '0' and args['κπ'] ~= '' and args['κπ'] ~= nil then
		if args['κπ+'] ~= '' and args['κπ+'] ~= nil then
		args['κπΛ'] = args['κπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ+']))) .. args['κοινό'] .. args['κπΛκειμ']
	    else
    	args['κπΛ'] = args['κπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ']))) .. args['κοινό'] .. args['κπΛκειμ']
		end
   	elseif args['κπ'] == '-' then
   		args['κπΛ'] = args['κπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['κπ2'] ~= '-' and args['κπ2'] ~= '0' and args['κπ2'] ~= '' and args['κπ2'] ~= nil then
		if args['κπ2θ'] == '' or args['κπ2θ'] == nil then args['κπ2θ'] = args['κπθ'] end	
		if args['κπ2+'] ~= '' and args['κπ2+'] ~= nil then
		args['κπ2Λ'] = '<br />&&nbsp;' .. args['κπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπ2θ'] .. args['πρόσφ2'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['κπ2+']))) .. args['κοινό'] .. args['κπ2Λκειμ']
	    else
		args['κπ2Λ'] = '<br />&&nbsp;' .. args['κπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπ2θ'] .. args['πρόσφ2'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['κπ2']))) .. args['κοινό'] .. args['κπ2Λκειμ']
		end	
   	elseif args['κπ2'] == '-' then
   		args['κπ2Λ'] = '<br />&&nbsp;' .. args['κπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κπ2Λκειμ']
   	end
	-- in parenthesis
	if args['κπ0'] ~= '' and args['κπ0'] ~= nil then
		if args['κπ0+'] ~= '' and args['κπ0+'] ~= nil then
		args['κπΛ'] = '(' .. args['κπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ0']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ0+']))) .. args['κοινό'] .. args['κπΛκειμ']
	    else
    	args['κπΛ'] = '(' .. args['κπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ0']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ0']))) .. args['κοινό'] .. args['κπΛκειμ']
		end	
	end

    args['κπΛ'] = args['κπΛ'] .. args['κπ2Λ']  



-- δυϊκός ονομαστική-αιτιατική PLUS infixed letters
	-- default stem
	if args['οδθ'] == '' or args['οδθ'] == nil then
		args['οδθ'] = stem["θ"]
	else args['οδθ'] = args['οδθ']
	end
	if args['οδ2θ'] == '' or args['οδ2θ'] == nil then
		args['οδ2θ'] = stem["θ"]
	else args['οδ2θ'] = args['οδ2θ']
	end

	-- zero ending
	if args['οδ'] == '0' then
	args['οδΛ'] = args['οδΛκειμ1'] .. args['κοινό1'] .. create_link((args['οδθ']), (stem_color(args['οδθ']))) .. args['κοινό'] .. args['οδΛκειμ']
	end
	if args['οδ2'] == '0' then
	args['οδ2Λ'] = args['οδ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οδ2θ']), (stem_color(args['οδ2θ']))) .. args['κοινό'] .. args['οδ2Λκειμ']
	end

	-- first word + infixed letters
	if args['οδ'] ~= '-' and args['οδ'] ~= '0' and args['οδ'] ~= '' and args['οδ'] ~= nil then
		if args['οδ+'] ~= '' and args['οδ+'] ~= nil then
		args['οδΛ'] = args['οδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ+']))) .. args['κοινό'] .. args['οδΛκειμ']
	    else
    	args['οδΛ'] = args['οδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ']))) .. args['κοινό'] .. args['οδΛκειμ']
		end
   	elseif args['οδ'] == '-' then
   		args['οδΛ'] = args['οδΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οδΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['οδ2'] ~= '-' and args['οδ2'] ~= '0' and args['οδ2'] ~= '' and args['οδ2'] ~= nil then
		if args['οδ2θ'] == '' or args['οδ2θ'] == nil then args['οδ2θ'] = args['οδθ'] end
		if args['οδ2+'] ~= '' and args['οδ2+'] ~= nil then
		args['οδ2Λ'] = '<br />&&nbsp;' .. args['οδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδ2θ'] .. args['πρόσφ2'] .. args['οδ2']), (stem_color(args['οδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οδ2+']))) .. args['κοινό'] .. args['οδ2Λκειμ']
	    else
		args['οδ2Λ'] = '<br />&&nbsp;' .. args['οδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδ2θ'] .. args['πρόσφ2'] .. args['οδ2']), (stem_color(args['οδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οδ2']))) .. args['κοινό'] .. args['οδ2Λκειμ']
		end	
   	elseif args['οδ2'] == '-' then
   		args['οδ2Λ'] = '<br />&&nbsp;' .. args['οδ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οδ2Λκειμ']
   	end
	-- in parenthesis
	if args['οδ0'] ~= '' and args['οδ0'] ~= nil then
		if args['οδ0+'] ~= '' and args['οδ0+'] ~= nil then
		args['οδΛ'] = '(' .. args['οδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ0']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ0+']))) .. args['κοινό'] .. args['οδΛκειμ']
	    else
    	args['οδΛ'] = '(' .. args['οδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ0']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ0']))) .. args['κοινό'] .. args['οδΛκειμ']
		end	
	end

    args['οδΛ'] = args['οδΛ'] .. args['οδ2Λ']


-- δυϊκός γενική-δοτική PLUS infixed letters
	-- default stem
	if args['γδθ'] == '' or args['γδθ'] == nil then
		args['γδθ'] = stem["θ"]
	else args['γδθ'] = args['γδθ']
	end
	if args['γδ2θ'] == '' or args['γδ2θ'] == nil then
		args['γδ2θ'] = stem["θ"]
	else args['γδ2θ'] = args['γδ2θ']
	end

	-- zero ending
	if args['γδ'] == '0' then
	args['γδΛ'] = args['γδΛκειμ1'] .. args['κοινό1'] .. create_link((args['γδθ']), (stem_color(args['γδθ']))) .. args['κοινό'] .. args['γδΛκειμ']
	end
	if args['γδ2'] == '0' then
	args['γδ2Λ'] = args['γδ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['γδ2θ']), (stem_color(args['γδ2θ']))) .. args['κοινό'] .. args['γδ2Λκειμ']
	end

	-- first word + infixed letters
	if args['γδ'] ~= '-' and args['γδ'] ~= '0' and args['γδ'] ~= '' and args['γδ'] ~= nil then
		if args['γδ+'] ~= '' and args['γδ+'] ~= nil then
		args['γδΛ'] = args['γδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ+']))) .. args['κοινό'] .. args['γδΛκειμ']
	    else
    	args['γδΛ'] = args['γδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ']))) .. args['κοινό'] .. args['γδΛκειμ']
		end
   	elseif args['γδ'] == '-' then
   		args['γδΛ'] = args['γδΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γδΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['γδ2'] ~= '-' and args['γδ2'] ~= '0' and args['γδ2'] ~= '' and args['γδ2'] ~= nil then
		if args['γδ2θ'] == '' or args['γδ2θ'] == nil then args['γδ2θ'] = args['γδθ'] end
		if args['γδ2+'] ~= '' and args['γδ2+'] ~= nil then
		args['γδ2Λ'] = '<br />&&nbsp;' .. args['γδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδ2θ'] .. args['πρόσφ2'] .. args['γδ2']), (stem_color(args['γδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γδ2+']))) .. args['κοινό'] .. args['γδ2Λκειμ']
	    else
		args['γδ2Λ'] = '<br />&&nbsp;' .. args['γδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδ2θ'] .. args['πρόσφ2'] .. args['γδ2']), (stem_color(args['γδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γδ2']))) .. args['κοινό'] .. args['γδ2Λκειμ']
		end	
   	elseif args['γδ2'] == '-' then
   		args['γδ2Λ'] = '<br />&&nbsp;' .. args['γδ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γδ2Λκειμ']
   	end
	-- in parenthesis
	if args['γδ0'] ~= '' and args['γδ0'] ~= nil then
		if args['γδ0+'] ~= '' and args['γδ0+'] ~= nil then
		args['γδΛ'] = '(' .. args['γδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ0']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ0+']))) .. args['κοινό'] .. args['γδΛκειμ']
	    else
    	args['γδΛ'] = '(' .. args['γδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ0']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ0']))) .. args['κοινό'] .. args['γδΛκειμ']
		end	
	end

    args['γδΛ'] = args['γδΛ'] .. args['γδ2Λ'] 


-- 2ος ενικός	
	args['οεΛ2'] = args['οεΛ2'] or ''
	args['γεΛ2'] = args['γεΛ2'] or ''
	args['δεΛ2'] = args['δεΛ2'] or ''
	args['αεΛ2'] = args['αεΛ2'] or ''
	args['κεΛ2'] = args['κεΛ2'] or ''
-- 2ος πληθυντικός	
	args['οπΛ2'] = args['οπΛ2'] or ''
	args['γπΛ2'] = args['γπΛ2'] or ''
	args['δπΛ2'] = args['δπΛ2'] or ''
	args['απΛ2'] = args['απΛ2'] or ''
	args['κπΛ2'] = args['κπΛ2'] or ''
-- no 2ος δυϊκός

------------
return fulltable(args)
end

















































--------------------------------------------------------------------------
--         FREE TABLE whole words or stems, endings, etc                --
--------------------------------------------------------------------------
-- [[Πρότυπο:grc-nouns-decl]]

export.free = function(frame)
--local args = frame:getParent().args	-- for Templates
local args = frame.args		-- invoke

-- lemma. This is needed, to define the feminine accusative singular article (required Module:tin)
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end 	
	
-- stems 
    local stemnumber = 0
    if minusletters ~= '' and minusletters ~= nil then
    	stemnumber = minusletters+1
    end
    -- take away the number of letters the editor wants
    minusletters = args['μείον'] or ''
    if args['μείον'] == '' and args['μείον'] == nil then args['μείον'] = 2 end

    -- if lemma is in plural number(α) then take away the ending οπ (= nom.pl)
	    if args['α'] ~= "πλ" or args['α2'] ~= "πλ" then
	    	if args['οε'] == '' or args['οε'] == nil then
	    	minusletters = 2
	    	else
	        minusletters = tonumber(mw.ustring.len(args['οε']))
	        end
	    end
	    if args['α'] == "πλ" or args['α2'] == "πλ" then
	    	if args['οπ'] == '' or args['οπ'] == nil then
	    	minusletters = 2
	    	else
	        minusletters = tonumber(mw.ustring.len(args['οπ']))	-- but if |λήμμα= then it MUST be the plural
	        end
	    end
	
	
-- stems
    local stem = {}
    stem["θ"] = mw.ustring.sub(args['λήμμα'],1,-minusletters-1)	-- stem as found at lemma
    stem["θ0"] = m_stems.word0(stem["θ"])					-- REMOVE ACCENT
 
    stem["θ1"] = m_stems.word1(stem["θ0"])					-- accent oksia at ultima (last syllable, syllable1 from the end) which is the word's 2nd syllable from the end
    stem["θ2"] = m_stems.word2(stem["θ0"])					-- accent oksia at penultima (syllable2 from end)
    stem["θ1ο"] = m_stems.PerispomeniToOxia(stem["θ"])		-- convert
    stem["θ1π"] = m_stems.OxiaToPerispomeni(stem["θ"])		-- convert
	

-- whole words
	args['οεΛ'] = args['οεΛ'] or ''
	args['γεΛ'] = args['γεΛ'] or ''
	args['δεΛ'] = args['δεΛ'] or ''
	args['αεΛ'] = args['αεΛ'] or ''
	args['κεΛ'] = args['κεΛ'] or ''
	args['οπΛ'] = args['οπΛ'] or ''
	args['γπΛ'] = args['γπΛ'] or ''
	args['δπΛ'] = args['δπΛ'] or ''
	args['απΛ'] = args['απΛ'] or ''
	args['κπΛ'] = args['κπΛ'] or ''
	args['οδΛ'] = args['οδΛ'] or ''
	args['γδΛ'] = args['γδΛ'] or ''
--
	args['οε2Λ'] = args['οε2Λ'] or ''
	args['γε2Λ'] = args['γε2Λ'] or ''
	args['δε2Λ'] = args['δε2Λ'] or ''
	args['αε2Λ'] = args['αε2Λ'] or ''
	args['κε2Λ'] = args['κε2Λ'] or ''
	args['οπ2Λ'] = args['οπ2Λ'] or ''
	args['γπ2Λ'] = args['γπ2Λ'] or ''
	args['δπ2Λ'] = args['δπ2Λ'] or ''
	args['απ2Λ'] = args['απ2Λ'] or ''
	args['κπ2Λ'] = args['κπ2Λ'] or ''
	args['οδ2Λ'] = args['οδ2Λ'] or ''
	args['γδ2Λ'] = args['γδ2Λ'] or ''
	
-- για γε, οπ, γπ, απ, κπ
	args['πρόσφ'] = args['πρόσφ'] or ''
	args['πρόσφ2'] = args['πρόσφ2'] or ''
	args['κοινό1'] = args['κοινό1'] or ''
	args['κοινό'] = args['κοινό'] or ''

-- κείμενο μετά τη λέξη
    args['οεΛκειμ'] = args['οεΛκειμ'] or ''
    args['γεΛκειμ'] = args['γεΛκειμ'] or ''
    args['δεΛκειμ'] = args['δεΛκειμ'] or ''
    args['αεΛκειμ'] = args['αεΛκειμ'] or ''
    args['κεΛκειμ'] = args['κεΛκειμ'] or ''
    args['οπΛκειμ'] = args['οπΛκειμ'] or ''
    args['γπΛκειμ'] = args['γπΛκειμ'] or ''
    args['δπΛκειμ'] = args['δπΛκειμ'] or ''
    args['απΛκειμ'] = args['απΛκειμ'] or ''
    args['κπΛκειμ'] = args['κπΛκειμ'] or ''
    args['οδΛκειμ'] = args['οδΛκειμ'] or ''
    args['γδΛκειμ'] = args['γδΛκειμ'] or ''
    
    args['οε2Λκειμ'] = args['ο2εΛκειμ'] or ''
    args['γε2Λκειμ'] = args['γε2Λκειμ'] or ''
    args['δε2Λκειμ'] = args['δε2Λκειμ'] or ''
    args['αε2Λκειμ'] = args['αε2Λκειμ'] or ''
    args['κε2Λκειμ'] = args['κε2Λκειμ'] or ''
    args['οπ2Λκειμ'] = args['οπ2Λκειμ'] or ''
    args['γπ2Λκειμ'] = args['γπ2Λκειμ'] or ''
    args['δπ2Λκειμ'] = args['δπ2Λκειμ'] or ''
    args['απ2Λκειμ'] = args['απ2Λκειμ'] or ''
    args['κπ2Λκειμ'] = args['κπ2Λκειμ'] or ''
    args['οδ2Λκειμ'] = args['οδ2Λκειμ'] or ''
    args['γδ2Λκειμ'] = args['γδ2Λκειμ'] or ''
    
-- κείμενο πριν τη λέξη
    args['οεΛκειμ1'] = args['οεΛκειμ1'] or ''
    args['γεΛκειμ1'] = args['γεΛκειμ1'] or ''
    args['δεΛκειμ1'] = args['δεΛκειμ1'] or ''
    args['αεΛκειμ1'] = args['αεΛκειμ1'] or ''
    args['κεΛκειμ1'] = args['κεΛκειμ1'] or ''
    args['οπΛκειμ1'] = args['οπΛκειμ1'] or ''
    args['γπΛκειμ1'] = args['γπΛκειμ1'] or ''
    args['δπΛκειμ1'] = args['δπΛκειμ1'] or ''
    args['απΛκειμ1'] = args['απΛκειμ1'] or ''
    args['κπΛκειμ1'] = args['κπΛκειμ1'] or ''
    args['οδΛκειμ1'] = args['οδΛκειμ1'] or ''
    args['γδΛκειμ1'] = args['γδΛκειμ1'] or ''
    
    args['οε2Λκειμ1'] = args['ο2εΛκειμ1'] or ''
    args['γε2Λκειμ1'] = args['γε2Λκειμ1'] or ''
    args['δε2Λκειμ1'] = args['δε2Λκειμ1'] or ''
    args['αε2Λκειμ1'] = args['αε2Λκειμ1'] or ''
    args['κε2Λκειμ1'] = args['κε2Λκειμ1'] or ''
    args['οπ2Λκειμ1'] = args['οπ2Λκειμ1'] or ''
    args['γπ2Λκειμ1'] = args['γπ2Λκειμ1'] or ''
    args['δπ2Λκειμ1'] = args['δπ2Λκειμ1'] or ''
    args['απ2Λκειμ1'] = args['απ2Λκειμ1'] or ''
    args['κπ2Λκειμ1'] = args['κπ2Λκειμ1'] or ''
    args['οδ2Λκειμ1'] = args['οδ2Λκειμ1'] or ''
    args['γδ2Λκειμ1'] = args['γδ2Λκειμ1'] or ''

-- make forms / χτίσιμο τύπων ---------------------------------
-- + αν υπάρχει εμφάνιση προσωδίας στην κατάληξη. Η προσωδία του θέματος, στο |θέματα=
-- το: and args είναι απαραίτητο, αλλιώς δίνει error nil

-- ονομαστική ενικού (without infixed letters)
	-- default stem
	if args['οεθ'] == '' or args['οεθ'] == nil then
		args['οεθ'] = stem["θ"]
	else args['οεθ'] = args['οεθ']
	end
	if args['οε2θ'] == '' or args['οε2θ'] == nil then
		args['ο2εθ'] = stem["θ"]
	else args['οε2θ'] = args['οε2θ']
	end
	
	-- zero ending
	if args['οε'] == '0' then	-- [[πῦρ]]
	args['οεΛ'] = args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ']), (stem_color(args['οεθ']))) .. args['κοινό'] .. args['οεΛκειμ']
	end
	if args['οε2'] == '0' then
	args['οε2Λ'] = args['οε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οε2θ']), (stem_color(args['οε2θ']))) .. args['κοινό'] .. args['οε2Λκειμ']
	end
	
	-- first word
	if args['οε'] ~= '-' and args['οε'] ~= '0' and args['οε'] ~= '' and args['οε'] ~= nil then
		if args['οε+'] ~= '' and args['οε+'] ~= nil then
		args['οεΛ'] = args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε+']))) .. args['κοινό'] .. args['οεΛκειμ']
	    else
    	args['οεΛ'] = args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε']), (stem_color(args['οεθ']) .. ending_color(args['οε']))) .. args['κοινό'] .. args['οεΛκειμ']
		end
	elseif args['οε'] == '-' then
   		args['οεΛ'] = args['οεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οεΛκειμ']
	end
   	-- second word at new line
   	if args['οε2'] ~= '-' and args['οε2'] ~= '0' and args['οε2'] ~= '' and args['οε2'] ~= nil then
		if args['οε2θ'] == '' or args['οε2θ'] == nil then args['οε2θ'] = args['οεθ'] end
		if args['οε2+'] ~= '' and args['οε2+'] ~= nil then
		args['οε2Λ'] = '<br />&&nbsp;' .. args['οε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οε2θ'] .. args['οε2']), (stem_color(args['οε2θ']) .. ending_color(args['οε2+']))) .. args['κοινό'] .. args['οε2Λκειμ']
	    else
    	args['οε2Λ'] = '<br />&&nbsp;' .. args['οε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οε2θ'] .. args['οε2']), (stem_color(args['οε2θ']) .. ending_color(args['οε2']))) .. args['κοινό'] .. args['οε2Λκειμ']
		end	
   	elseif args['οε2'] == '-' then
   		args['οε2Λ'] = '<br />&&nbsp;' .. args['οε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οε2Λκειμ']
   	end
	-- in parenthesis
	if args['οε0'] ~= '' and args['οε0'] ~= nil then
		if args['οε0+'] ~= '' and args['οε0+'] ~= nil then
		args['οεΛ'] = '(' .. args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε0']), (stem_color(args['οεθ']) .. ending_color(args['οε0+']))) .. args['κοινό'] .. args['οεΛκειμ']
	    else
    	args['οεΛ'] = '(' .. args['οεΛκειμ1'] .. args['κοινό1'] .. create_link((args['οεθ'] .. args['οε0']), (stem_color(args['οεθ']) .. ending_color(args['οε0']))) .. args['κοινό'] .. args['οεΛκειμ']
		end	
	end
   
    args['οεΛ'] = args['οεΛ'] .. args['οε2Λ']   


-- γενική ενικού PLUS infixed letters
	-- default stem
	if args['γεθ'] == '' or args['γεθ'] == nil then
		args['γεθ'] = stem["θ"]
	else args['γεθ'] = args['γεθ']
	end
	if args['γε2θ'] == '' or args['γε2θ'] == nil then
		args['γε2θ'] = stem["θ"]
	else args['γε2θ'] = args['γε2θ']
	end

	-- zero ending
	if args['γε'] == '0' then
	args['γεΛ'] = args['γεΛκειμ1'] .. args['κοινό1'] .. create_link((args['γεθ']), (stem_color(args['γεθ']))) .. args['κοινό'] .. args['γεΛκειμ']
	end
	if args['γε2'] == '0' then
	args['γε2Λ'] = args['γε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['γε2θ']), (stem_color(args['γε2θ']))) .. args['κοινό'] .. args['γε2Λκειμ']
	end

	-- first word + infixed letters
	if args['γε'] ~= '-' and args['γε'] ~= '0' and args['γε'] ~= '' and args['γε'] ~= nil then
		if args['γε+'] ~= '' and args['γε+'] ~= nil then
		args['γεΛ'] = args['γεΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε+']))) .. args['κοινό'] .. args['γεΛκειμ']
	    else
    	args['γεΛ'] = args['γεΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε']))) .. args['κοινό'] .. args['γεΛκειμ']
		end
   	elseif args['γε'] == '-' then
   		args['γεΛ'] = args['γεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γεΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['γε2'] ~= '-' and args['γε2'] ~= '0' and args['γε2'] ~= '' and args['γε2'] ~= nil then
		if args['γε2θ'] == '' or args['γε2θ'] == nil then args['γε2θ'] = args['γεθ'] end
		if args['γε2+'] ~= '' and args['γε2+'] ~= nil then
		args['γε2Λ'] = '<br />&&nbsp;' .. args['γε2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γε2θ'] .. args['πρόσφ2'] .. args['γε2']), (stem_color(args['γε2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γε2+']))) .. args['κοινό'] .. args['γε2Λκειμ']
	    else
		args['γε2Λ'] = '<br />&&nbsp;' .. args['γε2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γε2θ'] .. args['πρόσφ2'] .. args['γε2']), (stem_color(args['γε2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γε2']))) .. args['κοινό'] .. args['γε2Λκειμ']
		end	
   	elseif args['γε2'] == '-' then
   		args['γε2Λ'] = '<br />&&nbsp;' .. args['γε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γε2Λκειμ']
   	end
	-- in parenthesis
	if args['γε0'] ~= '' and args['γε0'] ~= nil then
		if args['γε0+'] ~= '' and args['γε0+'] ~= nil then
		args['γεΛ'] = '(' .. args['γεΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε0']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε0+']))) .. args['κοινό'] .. args['γεΛκειμ']
	    else
    	args['γεΛ'] = '(' .. args['γεΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γεθ'] .. args['πρόσφ'] .. args['γε0']), (stem_color(args['γεθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γε0']))) .. args['κοινό'] .. args['γεΛκειμ']
		end	
	end

    args['γεΛ'] = args['γεΛ'] .. args['γε2Λ']   


-- δοτική ενικού ending='0' is hypothetical
	-- default stem
	if args['δεθ'] == '' or args['δεθ'] == nil then
		args['δεθ'] = stem["θ"]
	else args['δεθ'] = args['δεθ']
	end
	if args['δε2θ'] == '' or args['δε2θ'] == nil then
		args['δε2θ'] = stem["θ"]
	else args['δε2θ'] = args['δε2θ']
	end

	-- zero ending
	if args['δε'] == '0' then
	args['δεΛ'] = args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ']), (stem_color(args['δεθ']))) .. args['κοινό'] .. args['δεΛκειμ']
	end
	if args['δε2'] == '0' then
	args['δε2Λ'] = args['δε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δε2θ']), (stem_color(args['δε2θ']))) .. args['κοινό'] .. args['δε2Λκειμ']
	end

	-- first word
	if args['δε'] ~= '-' and args['δε'] ~= '0' and args['δε'] ~= '' and args['δε'] ~= nil then
		if args['δε+'] ~= '' and args['δε+'] ~= nil then
		args['δεΛ'] = args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε']), (stem_color(args['δεθ']) .. ending_color(args['δε+']))) .. args['κοινό'] .. args['δεΛκειμ']
	    else
    	args['δεΛ'] = args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε']), (stem_color(args['δεθ']) .. ending_color(args['δε']))) .. args['κοινό'] .. args['δεΛκειμ']
		end
   	elseif args['δε'] == '-' then
   		args['δεΛ'] = args['δεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δεΛκειμ']
   	end
   	
	-- second word at new line
   	if args['δε2'] ~= '-' and args['δε2'] ~= '0' and args['δε2'] ~= '' and args['δε2'] ~= nil then
		if args['δε2θ'] == '' or args['δε2θ'] == nil then args['δε2θ'] = args['δεθ'] end
		if args['δε2+'] ~= '' and args['δε2+'] ~= nil then
		args['δε2Λ'] = '<br />&&nbsp;' .. args['δε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δε2θ'] .. args['δε2']), (stem_color(args['δε2θ']) .. ending_color(args['δε2+']))) .. args['κοινό'] .. args['δε2Λκειμ']
	    else
		args['δε2Λ'] = '<br />&&nbsp;' .. args['δε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δε2θ'] .. args['δε2']), (stem_color(args['δε2θ']) .. ending_color(args['δε2']))) .. args['κοινό'] .. args['δε2Λκειμ']
		end	
   	elseif args['δε2'] == '-' then
   		args['δε2Λ'] = '<br />&&nbsp;' .. args['δε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δε2Λκειμ']
   	end
	-- in parenthesis
	if args['δε0'] ~= '' and args['δε0'] ~= nil then
		if args['δε0+'] ~= '' and args['δε0+'] ~= nil then
		args['δεΛ'] = '(' .. args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε0']), (stem_color(args['δεθ']) .. ending_color(args['δε0+']))) .. args['κοινό'] .. args['δεΛκειμ']
	    else
    	args['δεΛ'] = '(' .. args['δεΛκειμ1'] .. args['κοινό1'] .. create_link((args['δεθ'] .. args['δε0']), (stem_color(args['δεθ']) .. ending_color(args['δε0']))) .. args['κοινό'] .. args['δεΛκειμ']
		end	
	end

    args['δεΛ'] = args['δεΛ'] .. args['δε2Λ']   


-- αιτιατική ενικού
	-- default stem
	if args['αεθ'] == '' or args['αεθ'] == nil then
		args['αεθ'] = stem["θ"]
	else args['αεθ'] = args['αεθ']
	end
	if args['αε2θ'] == '' or args['αε2θ'] == nil then
		args['αε2θ'] = stem["θ"]
	else args['αε2θ'] = args['αε2θ']
	end

	-- zero ending
	if args['αε'] == '0' then
	args['αεΛ'] = args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ']), (stem_color(args['αεθ']))) .. args['κοινό'] .. args['αεΛκειμ']
	end
	if args['αε2'] == '0' then
	args['αε2Λ'] = args['αε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['αε2θ']), (stem_color(args['αε2θ']))) .. args['κοινό'] .. args['αε2Λκειμ']
	end

	-- first word
	if args['αε'] ~= '-' and args['αε'] ~= '0' and args['αε'] ~= '' and args['αε'] ~= nil then
		if args['αε+'] ~= '' and args['αε+'] ~= nil then
		args['αεΛ'] = args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε']), (stem_color(args['αεθ']) .. ending_color(args['αε+']))) .. args['κοινό'] .. args['αεΛκειμ']
	    else
    	args['αεΛ'] = args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε']), (stem_color(args['αεθ']) .. ending_color(args['αε']))) .. args['κοινό'] .. args['αεΛκειμ']
		end
   	elseif args['αε'] == '-' then
   		args['αεΛ'] = args['αεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['αεΛκειμ']
   	end
   	
	-- second word at new line
   	if args['αε2'] ~= '-' and args['αε2'] ~= '0' and args['αε2'] ~= '' and args['αε2'] ~= nil then
		if args['αε2θ'] == '' or args['αε2θ'] == nil then args['αε2θ'] = args['αεθ'] end	
		if args['αε2+'] ~= '' and args['αε2+'] ~= nil then
		args['αε2Λ'] = '<br />&&nbsp;' .. args['αε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['αε2θ'] .. args['αε2']), (stem_color(args['αε2θ']) .. ending_color(args['αε2+']))) .. args['κοινό'] .. args['αε2Λκειμ']
	    else
		args['αε2Λ'] = '<br />&&nbsp;' .. args['αε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['αε2θ'] .. args['αε2']), (stem_color(args['αε2θ']) .. ending_color(args['αε2']))) .. args['κοινό'] .. args['αε2Λκειμ']
		end	
   	elseif args['αε2'] == '-' then
   		args['αε2Λ'] = '<br />&&nbsp;' .. args['αε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['αε2Λκειμ']
   	end
	-- in parenthesis
	if args['αε0'] ~= '' and args['αε0'] ~= nil then
		if args['αε0+'] ~= '' and args['αε0+'] ~= nil then
		args['αεΛ'] = '(' .. args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε0']), (stem_color(args['αεθ']) .. ending_color(args['αε0+']))) .. args['κοινό'] .. args['αεΛκειμ']
	    else
    	args['αεΛ'] = '(' .. args['αεΛκειμ1'] .. args['κοινό1'] .. create_link((args['αεθ'] .. args['αε0']), (stem_color(args['αεθ']) .. ending_color(args['αε0']))) .. args['κοινό'] .. args['αεΛκειμ']
		end	
	end

    args['αεΛ'] = args['αεΛ'] .. args['αε2Λ']   


-- κλητική ενικού
	-- default stem
	if args['κεθ'] == '' or args['κεθ'] == nil then
		args['κεθ'] = stem["θ"]
	else args['κεθ'] = args['κεθ']
	end
	if args['κε2θ'] == '' or args['κε2θ'] == nil then
		args['κε2θ'] = stem["θ"]
	else args['κε2θ'] = args['κε2θ']
	end

	-- zero ending
	if args['κε'] == '0' then
	args['κεΛ'] = args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ']), (stem_color(args['κεθ']))) .. args['κοινό'] .. args['κεΛκειμ']
	end
	if args['κε2'] == '0' then
	args['κε2Λ'] = args['κε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κε2θ']), (stem_color(args['κε2θ']))) .. args['κοινό'] .. args['κε2Λκειμ']
	end

	-- first word
	if args['κε'] ~= '-' and args['κε'] ~= '0' and args['κε'] ~= '' and args['κε'] ~= nil then
		if args['κε+'] ~= '' and args['κε+'] ~= nil then
		args['κεΛ'] = args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε+']))) .. args['κοινό'] .. args['κεΛκειμ']
	    else
    	args['κεΛ'] = args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε']), (stem_color(args['κεθ']) .. ending_color(args['κε']))) .. args['κοινό'] .. args['κεΛκειμ']
		end
   	elseif args['κε'] == '-' then
   		args['κεΛ'] = args['κεΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κεΛκειμ']
   	end
   	
	-- second word at new line
   	if args['κε2'] ~= '-' and args['κε2'] ~= '0' and args['κε2'] ~= '' and args['κε2'] ~= nil then
		if args['κε2θ'] == '' or args['κε2θ'] == nil then args['κε2θ'] = args['κεθ'] end
		if args['κε2+'] ~= '' and args['κε2+'] ~= nil then
		args['κε2Λ'] = '<br />&&nbsp;' .. args['κε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κε2θ'] .. args['κε2']), (stem_color(args['κε2θ']) .. ending_color(args['κε2+']))) .. args['κοινό'] .. args['κε2Λκειμ']
	    else
		args['κε2Λ'] = '<br />&&nbsp;' .. args['κε2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κε2θ'] .. args['κε2']), (stem_color(args['κε2θ']) .. ending_color(args['κε2']))) .. args['κοινό'] .. args['κε2Λκειμ']
		end	
   	elseif args['κε2'] == '-' then
   		args['κε2Λ'] = '<br />&&nbsp;' .. args['κε2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κε2Λκειμ']
   	end
	-- in parenthesis
	if args['κε0'] ~= '' and args['κε0'] ~= nil then
		if args['κε0+'] ~= '' and args['κε0+'] ~= nil then
		args['κεΛ'] = '(' .. args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε0']), (stem_color(args['κεθ']) .. ending_color(args['κε0+']))) .. args['κοινό'] .. args['κεΛκειμ']
	    else
    	args['κεΛ'] = '(' .. args['κεΛκειμ1'] .. args['κοινό1'] .. create_link((args['κεθ'] .. args['κε0']), (stem_color(args['κεθ']) .. ending_color(args['κε0']))) .. args['κοινό'] .. args['κεΛκειμ']
		end	
	end

    args['κεΛ'] = args['κεΛ'] .. args['κε2Λ']   


-- ΟΝΟΜΑΣΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['οπθ'] == '' or args['οπθ'] == nil then
		args['οπθ'] = stem["θ"]
	else args['οπθ'] = args['οπθ']
	end
	if args['οπ2θ'] == '' or args['οπ2θ'] == nil then
		args['οπ2θ'] = stem["θ"]
	else args['οπ2θ'] = args['οπ2θ']
	end

	-- zero ending
	if args['οπ'] == '0' then
	args['οπΛ'] = args['οπΛκειμ1'] .. args['κοινό1'] .. create_link((args['οπθ']), (stem_color(args['οπθ']))) .. args['κοινό'] .. args['οπΛκειμ']
	end
	if args['οπ2'] == '0' then
	args['οπ2Λ'] = args['οπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οπ2θ']), (stem_color(args['οπ2θ']))) .. args['κοινό'] .. args['οπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['οπ'] ~= '-' and args['οπ'] ~= '0' and args['οπ'] ~= '' and args['οπ'] ~= nil then
		if args['οπ+'] ~= '' and args['οπ+'] ~= nil then
		args['οπΛ'] = args['οπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ+']))) .. args['κοινό'] .. args['οπΛκειμ']
	    else
    	args['οπΛ'] = args['οπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ']))) .. args['κοινό'] .. args['οπΛκειμ']
		end
   	elseif args['οπ'] == '-' then
   		args['οπΛ'] = args['οπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['οπ2'] ~= '-' and args['οπ2'] ~= '0' and args['οπ2'] ~= '' and args['οπ2'] ~= nil then
		if args['οπ2θ'] == '' or args['οπ2θ'] == nil then args['οπ2θ'] = args['οπθ'] end
		if args['οπ2+'] ~= '' and args['οπ2+'] ~= nil then
		args['οπ2Λ'] = '<br />&&nbsp;' .. args['οπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπ2θ'] .. args['πρόσφ2'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οπ2+']))) .. args['κοινό'] .. args['οπ2Λκειμ']
	    else
		args['οπ2Λ'] = '<br />&&nbsp;' .. args['οπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπ2θ'] .. args['πρόσφ2'] .. args['οπ2']), (stem_color(args['οπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οπ2']))) .. args['κοινό'] .. args['οπ2Λκειμ']
		end	
   	elseif args['οπ2'] == '-' then
   		args['οπ2Λ'] = '<br />&&nbsp;' .. args['οπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οπ2Λκειμ']
   	end
	-- in parenthesis
	if args['οπ0'] ~= '' and args['οπ0'] ~= nil then
		if args['οπ0+'] ~= '' and args['οπ0+'] ~= nil then
		args['οπΛ'] = '(' .. args['οπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ0']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ0+']))) .. args['κοινό'] .. args['οπΛκειμ']
	    else
    	args['οπΛ'] = '(' .. args['οπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οπθ'] .. args['πρόσφ'] .. args['οπ0']), (stem_color(args['οπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οπ0']))) .. args['κοινό'] .. args['οπΛκειμ']
		end	
	end

    args['οπΛ'] = args['οπΛ'] .. args['οπ2Λ']   

-- ΓΕΝΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['γπθ'] == '' or args['γπθ'] == nil then
		args['γπθ'] = stem["θ"]
	else args['γπθ'] = args['γπθ']
	end
	if args['γπ2θ'] == '' or args['γπ2θ'] == nil then
		args['γπ2θ'] = stem["θ"]
	else args['γπ2θ'] = args['γπ2θ']
	end

	-- zero ending
	if args['γπ'] == '0' then
	args['γπΛ'] = args['γπΛκειμ1'] .. args['κοινό1'] .. create_link((args['γπθ']), (stem_color(args['γπθ']))) .. args['κοινό'] .. args['γπΛκειμ']
	end
	if args['γπ2'] == '0' then
	args['γπ2Λ'] = args['γπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['γπ2θ']), (stem_color(args['γπ2θ']))) .. args['κοινό'] .. args['γπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['γπ'] ~= '-' and args['γπ'] ~= '0' and args['γπ'] ~= '' and args['γπ'] ~= nil then
		if args['γπ+'] ~= '' and args['γπ+'] ~= nil then
		args['γπΛ'] = args['γπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ+']))) .. args['κοινό'] .. args['γπΛκειμ']
	    else
    	args['γπΛ'] = args['γπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ']))) .. args['κοινό'] .. args['γπΛκειμ']
		end
   	elseif args['γπ'] == '-' then
   		args['γπΛ'] = args['γπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['γπ2'] ~= '-' and args['γπ2'] ~= '0' and args['γπ2'] ~= '' and args['γπ2'] ~= nil then
		if args['γπ2θ'] == '' or args['γπ2θ'] == nil then args['γπ2θ'] = args['γπθ'] end
		if args['γπ2+'] ~= '' and args['γπ2+'] ~= nil then
		args['γπ2Λ'] = '<br />&&nbsp;' .. args['γπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπ2θ'] .. args['πρόσφ2'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γπ2+']))) .. args['κοινό'] .. args['γπ2Λκειμ']
	    else
		args['γπ2Λ'] = '<br />&&nbsp;' .. args['γπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπ2θ'] .. args['πρόσφ2'] .. args['γπ2']), (stem_color(args['γπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γπ2']))) .. args['κοινό'] .. args['γπ2Λκειμ']
		end	
   	elseif args['γπ2'] == '-' then
   		args['γπ2Λ'] = '<br />&&nbsp;' .. args['γπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γπ2Λκειμ']
   	end
	-- in parenthesis
	if args['γπ0'] ~= '' and args['γπ0'] ~= nil then
		if args['γπ0+'] ~= '' and args['γπ0+'] ~= nil then
		args['γπΛ'] = '(' .. args['γπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ0']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ0+']))) .. args['κοινό'] .. args['γπΛκειμ']
	    else
    	args['γπΛ'] = '(' .. args['γπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γπθ'] .. args['πρόσφ'] .. args['γπ0']), (stem_color(args['γπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γπ0']))) .. args['κοινό'] .. args['γπΛκειμ']
		end	
	end

    args['γπΛ'] = args['γπΛ'] .. args['γπ2Λ']   


-- ΔΟΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['δπθ'] == '' or args['δπθ'] == nil then
		args['δπθ'] = stem["θ"]
	else args['δπθ'] = args['δπθ']
	end
	if args['δπ2θ'] == '' or args['δπ2θ'] == nil then
		args['δπ2θ'] = stem["θ"]
	else args['δπ2θ'] = args['δπ2θ']
	end

	-- zero ending
	if args['δπ'] == '0' then
	args['δπΛ'] = args['δπΛκειμ1'] .. args['κοινό1'] .. create_link((args['δπθ']), (stem_color(args['δπθ']))) .. args['κοινό'] .. args['δπΛκειμ']
	end
	if args['δπ2'] == '0' then
	args['δπ2Λ'] = args['δπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['δπ2θ']), (stem_color(args['δπ2θ']))) .. args['κοινό'] .. args['δπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['δπ'] ~= '-' and args['δπ'] ~= '0' and args['δπ'] ~= '' and args['δπ'] ~= nil then
		if args['δπ+'] ~= '' and args['δπ+'] ~= nil then
		args['δπΛ'] = args['δπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ+']))) .. args['κοινό'] .. args['δπΛκειμ']
	    else
    	args['δπΛ'] = args['δπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ']))) .. args['κοινό'] .. args['δπΛκειμ']
		end
   	elseif args['δπ'] == '-' then
   		args['δπΛ'] = args['δπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['δπ2'] ~= '-' and args['δπ2'] ~= '0' and args['δπ2'] ~= '' and args['δπ2'] ~= nil then
		if args['δπ2θ'] == '' or args['δπ2θ'] == nil then args['δπ2θ'] = args['δπθ'] end
		if args['δπ2+'] ~= '' and args['δπ2+'] ~= nil then
		args['δπ2Λ'] = '<br />&&nbsp;' .. args['δπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπ2θ'] .. args['πρόσφ2'] .. args['δπ2']), (stem_color(args['δπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['δπ2+']))) .. args['κοινό'] .. args['δπ2Λκειμ']
	    else
		args['δπ2Λ'] = '<br />&&nbsp;' .. args['δπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπ2θ'] .. args['πρόσφ2'] .. args['δπ2']), (stem_color(args['δπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['δπ2']))) .. args['κοινό'] .. args['δπ2Λκειμ']
		end	
   	elseif args['δπ2'] == '-' then
   		args['δπ2Λ'] = '<br />&&nbsp;' .. args['δπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['δπ2Λκειμ']
   	end
	-- in parenthesis
	if args['δπ0'] ~= '' and args['δπ0'] ~= nil then
		if args['δπ0+'] ~= '' and args['δπ0+'] ~= nil then
		args['δπΛ'] = '(' .. args['δπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ0']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ0+']))) .. args['κοινό'] .. args['δπΛκειμ']
	    else
    	args['δπΛ'] = '(' .. args['δπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['δπθ'] .. args['πρόσφ'] .. args['δπ0']), (stem_color(args['δπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['δπ0']))) .. args['κοινό'] .. args['δπΛκειμ']
		end	
	end

    args['δπΛ'] = args['δπΛ'] .. args['δπ2Λ'] 

-- ΑΙΤΙΑΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed leters
	-- default stem
	if args['απθ'] == '' or args['απθ'] == nil then
		args['απθ'] = stem["θ"]
	else args['απθ'] = args['απθ']
	end
	if args['απ2θ'] == '' or args['απ2θ'] == nil then
		args['απ2θ'] = stem["θ"]
	else args['απ2θ'] = args['απ2θ']
	end

	-- zero ending
	if args['απ'] == '0' then
	args['απΛ'] = args['απΛκειμ1'] .. args['κοινό1'] .. create_link((args['απθ']), (stem_color(args['απθ']))) .. args['κοινό'] .. args['απΛκειμ']
	end
	if args['απ2'] == '0' then
	args['απ2Λ'] = args['απ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['απ2θ']), (stem_color(args['απ2θ']))) .. args['κοινό'] .. args['απ2Λκειμ']
	end

	-- first word + infixed letters
	if args['απ'] ~= '-' and args['απ'] ~= '0' and args['απ'] ~= '' and args['απ'] ~= nil then
		if args['απ+'] ~= '' and args['απ+'] ~= nil then
		args['απΛ'] = args['απΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ+']))) .. args['κοινό'] .. args['απΛκειμ']
	    else
    	args['απΛ'] = args['απΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ']))) .. args['κοινό'] .. args['απΛκειμ']
		end
   	elseif args['απ'] == '-' then
   		args['απΛ'] = args['απΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['απΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['απ2'] ~= '-' and args['απ2'] ~= '0' and args['απ2'] ~= '' and args['απ2'] ~= nil then
		if args['απ2θ'] == '' or args['απ2θ'] == nil then args['απ2θ'] = args['απθ'] end
		if args['απ2+'] ~= '' and args['απ2+'] ~= nil then
		args['απ2Λ'] = '<br />&&nbsp;' .. args['απ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απ2θ'] .. args['πρόσφ2'] .. args['απ2']), (stem_color(args['απ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['απ2+']))) .. args['κοινό'] .. args['απ2Λκειμ']
	    else
		args['απ2Λ'] = '<br />&&nbsp;' .. args['απ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απ2θ'] .. args['πρόσφ2'] .. args['απ2']), (stem_color(args['απ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['απ2']))) .. args['κοινό'] .. args['απ2Λκειμ']
		end	
   	elseif args['απ2'] == '-' then
   		args['απ2Λ'] = '<br />&&nbsp;' .. args['απ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['απ2Λκειμ']
   	end
	-- in parenthesis
	if args['απ0'] ~= '' and args['απ0'] ~= nil then
		if args['απ0+'] ~= '' and args['απ0+'] ~= nil then
		args['απΛ'] = '(' .. args['απΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ0']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ0+']))) .. args['κοινό'] .. args['απΛκειμ']
	    else
    	args['απΛ'] = '(' .. args['απΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['απθ'] .. args['πρόσφ'] .. args['απ0']), (stem_color(args['απθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['απ0']))) .. args['κοινό'] .. args['απΛκειμ']
		end	
	end

    args['απΛ'] = args['απΛ'] .. args['απ2Λ'] 


-- ΚΛΗΤΙΚΗ ΠΛΗΘΥΝΤΙΚΟΥ PLUS infixed letters
	-- default stem
	if args['κπθ'] == '' or args['κπθ'] == nil then
		args['κπθ'] = stem["θ"]
	else args['κπθ'] = args['κπθ']
	end
	if args['κπ2θ'] == '' or args['κπ2θ'] == nil then
		args['κπ2θ'] = stem["θ"]
	else args['κπ2θ'] = args['κπ2θ']
	end

	-- zero ending
	if args['κπ'] == '0' then
	args['κπΛ'] = args['κπΛκειμ1'] .. args['κοινό1'] .. create_link((args['κπθ']), (stem_color(args['κπθ']))) .. args['κοινό'] .. args['κπΛκειμ']
	end
	if args['κπ2'] == '0' then
	args['κπ2Λ'] = args['κπ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['κπ2θ']), (stem_color(args['κπ2θ']))) .. args['κοινό'] .. args['κπ2Λκειμ']
	end

	-- first word + infixed letters
	if args['κπ'] ~= '-' and args['κπ'] ~= '0' and args['κπ'] ~= '' and args['κπ'] ~= nil then
		if args['κπ+'] ~= '' and args['κπ+'] ~= nil then
		args['κπΛ'] = args['κπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ+']))) .. args['κοινό'] .. args['κπΛκειμ']
	    else
    	args['κπΛ'] = args['κπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ']))) .. args['κοινό'] .. args['κπΛκειμ']
		end
   	elseif args['κπ'] == '-' then
   		args['κπΛ'] = args['κπΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κπΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['κπ2'] ~= '-' and args['κπ2'] ~= '0' and args['κπ2'] ~= '' and args['κπ2'] ~= nil then
		if args['κπ2θ'] == '' or args['κπ2θ'] == nil then args['κπ2θ'] = args['κπθ'] end	
		if args['κπ2+'] ~= '' and args['κπ2+'] ~= nil then
		args['κπ2Λ'] = '<br />&&nbsp;' .. args['κπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπ2θ'] .. args['πρόσφ2'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['κπ2+']))) .. args['κοινό'] .. args['κπ2Λκειμ']
	    else
		args['κπ2Λ'] = '<br />&&nbsp;' .. args['κπ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπ2θ'] .. args['πρόσφ2'] .. args['κπ2']), (stem_color(args['κπ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['κπ2']))) .. args['κοινό'] .. args['κπ2Λκειμ']
		end	
   	elseif args['κπ2'] == '-' then
   		args['κπ2Λ'] = '<br />&&nbsp;' .. args['κπ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['κπ2Λκειμ']
   	end
	-- in parenthesis
	if args['κπ0'] ~= '' and args['κπ0'] ~= nil then
		if args['κπ0+'] ~= '' and args['κπ0+'] ~= nil then
		args['κπΛ'] = '(' .. args['κπΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ0']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ0+']))) .. args['κοινό'] .. args['κπΛκειμ']
	    else
    	args['κπΛ'] = '(' .. args['κπΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['κπθ'] .. args['πρόσφ'] .. args['κπ0']), (stem_color(args['κπθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['κπ0']))) .. args['κοινό'] .. args['κπΛκειμ']
		end	
	end

    args['κπΛ'] = args['κπΛ'] .. args['κπ2Λ']  



-- δυϊκός ονομαστική-αιτιατική PLUS infixed letters
	-- default stem
	if args['οδθ'] == '' or args['οδθ'] == nil then
		args['οδθ'] = stem["θ"]
	else args['οδθ'] = args['οδθ']
	end
	if args['οδ2θ'] == '' or args['οδ2θ'] == nil then
		args['οδ2θ'] = stem["θ"]
	else args['οδ2θ'] = args['οδ2θ']
	end

	-- zero ending
	if args['οδ'] == '0' then
	args['οδΛ'] = args['οδΛκειμ1'] .. args['κοινό1'] .. create_link((args['οδθ']), (stem_color(args['οδθ']))) .. args['κοινό'] .. args['οδΛκειμ']
	end
	if args['οδ2'] == '0' then
	args['οδ2Λ'] = args['οδ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['οδ2θ']), (stem_color(args['οδ2θ']))) .. args['κοινό'] .. args['οδ2Λκειμ']
	end

	-- first word + infixed letters
	if args['οδ'] ~= '-' and args['οδ'] ~= '0' and args['οδ'] ~= '' and args['οδ'] ~= nil then
		if args['οδ+'] ~= '' and args['οδ+'] ~= nil then
		args['οδΛ'] = args['οδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ+']))) .. args['κοινό'] .. args['οδΛκειμ']
	    else
    	args['οδΛ'] = args['οδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ']))) .. args['κοινό'] .. args['οδΛκειμ']
		end
   	elseif args['οδ'] == '-' then
   		args['οδΛ'] = args['οδΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οδΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['οδ2'] ~= '-' and args['οδ2'] ~= '0' and args['οδ2'] ~= '' and args['οδ2'] ~= nil then
		if args['οδ2θ'] == '' or args['οδ2θ'] == nil then args['οδ2θ'] = args['οδθ'] end
		if args['οδ2+'] ~= '' and args['οδ2+'] ~= nil then
		args['οδ2Λ'] = '<br />&&nbsp;' .. args['οδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδ2θ'] .. args['πρόσφ2'] .. args['οδ2']), (stem_color(args['οδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οδ2+']))) .. args['κοινό'] .. args['οδ2Λκειμ']
	    else
		args['οδ2Λ'] = '<br />&&nbsp;' .. args['οδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδ2θ'] .. args['πρόσφ2'] .. args['οδ2']), (stem_color(args['οδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['οδ2']))) .. args['κοινό'] .. args['οδ2Λκειμ']
		end	
   	elseif args['οδ2'] == '-' then
   		args['οδ2Λ'] = '<br />&&nbsp;' .. args['οδ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['οδ2Λκειμ']
   	end
	-- in parenthesis
	if args['οδ0'] ~= '' and args['οδ0'] ~= nil then
		if args['οδ0+'] ~= '' and args['οδ0+'] ~= nil then
		args['οδΛ'] = '(' .. args['οδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ0']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ0+']))) .. args['κοινό'] .. args['οδΛκειμ']
	    else
    	args['οδΛ'] = '(' .. args['οδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['οδθ'] .. args['πρόσφ'] .. args['οδ0']), (stem_color(args['οδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['οδ0']))) .. args['κοινό'] .. args['οδΛκειμ']
		end	
	end

    args['οδΛ'] = args['οδΛ'] .. args['οδ2Λ']


-- δυϊκός γενική-δοτική PLUS infixed letters
	-- default stem
	if args['γδθ'] == '' or args['γδθ'] == nil then
		args['γδθ'] = stem["θ"]
	else args['γδθ'] = args['γδθ']
	end
	if args['γδ2θ'] == '' or args['γδ2θ'] == nil then
		args['γδ2θ'] = stem["θ"]
	else args['γδ2θ'] = args['γδ2θ']
	end

	-- zero ending
	if args['γδ'] == '0' then
	args['γδΛ'] = args['γδΛκειμ1'] .. args['κοινό1'] .. create_link((args['γδθ']), (stem_color(args['γδθ']))) .. args['κοινό'] .. args['γδΛκειμ']
	end
	if args['γδ2'] == '0' then
	args['γδ2Λ'] = args['γδ2Λκειμ1'] .. args['κοινό1'] .. create_link((args['γδ2θ']), (stem_color(args['γδ2θ']))) .. args['κοινό'] .. args['γδ2Λκειμ']
	end

	-- first word + infixed letters
	if args['γδ'] ~= '-' and args['γδ'] ~= '0' and args['γδ'] ~= '' and args['γδ'] ~= nil then
		if args['γδ+'] ~= '' and args['γδ+'] ~= nil then
		args['γδΛ'] = args['γδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ+']))) .. args['κοινό'] .. args['γδΛκειμ']
	    else
    	args['γδΛ'] = args['γδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ']))) .. args['κοινό'] .. args['γδΛκειμ']
		end
   	elseif args['γδ'] == '-' then
   		args['γδΛ'] = args['γδΛκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γδΛκειμ']
   	end
   	
	-- second word at new line + infixed letters
   	if args['γδ2'] ~= '-' and args['γδ2'] ~= '0' and args['γδ2'] ~= '' and args['γδ2'] ~= nil then
		if args['γδ2θ'] == '' or args['γδ2θ'] == nil then args['γδ2θ'] = args['γδθ'] end
		if args['γδ2+'] ~= '' and args['γδ2+'] ~= nil then
		args['γδ2Λ'] = '<br />&&nbsp;' .. args['γδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδ2θ'] .. args['πρόσφ2'] .. args['γδ2']), (stem_color(args['γδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γδ2+']))) .. args['κοινό'] .. args['γδ2Λκειμ']
	    else
		args['γδ2Λ'] = '<br />&&nbsp;' .. args['γδ2Λκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδ2θ'] .. args['πρόσφ2'] .. args['γδ2']), (stem_color(args['γδ2θ']) .. infix_color(args['πρόσφ2']) .. ending_color(args['γδ2']))) .. args['κοινό'] .. args['γδ2Λκειμ']
		end	
   	elseif args['γδ2'] == '-' then
   		args['γδ2Λ'] = '<br />&&nbsp;' .. args['γδ2Λκειμ1'] .. '<span style="text-align:center; color:#dddddd;">&mdash;</span>' .. args['γδ2Λκειμ']
   	end
	-- in parenthesis
	if args['γδ0'] ~= '' and args['γδ0'] ~= nil then
		if args['γδ0+'] ~= '' and args['γδ0+'] ~= nil then
		args['γδΛ'] = '(' .. args['γδΛκειμ1'] .. args['κοινό1'] 
		.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ0']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ0+']))) .. args['κοινό'] .. args['γδΛκειμ']
	    else
    	args['γδΛ'] = '(' .. args['γδΛκειμ1'] .. args['κοινό1'] 
    	.. create_link((args['γδθ'] .. args['πρόσφ'] .. args['γδ0']), (stem_color(args['γδθ']) .. infix_color(args['πρόσφ']) .. ending_color(args['γδ0']))) .. args['κοινό'] .. args['γδΛκειμ']
		end	
	end

    args['γδΛ'] = args['γδΛ'] .. args['γδ2Λ'] 


-- 2ος ενικός	
	args['οεΛ2'] = args['οεΛ2'] or ''
	args['γεΛ2'] = args['γεΛ2'] or ''
	args['δεΛ2'] = args['δεΛ2'] or ''
	args['αεΛ2'] = args['αεΛ2'] or ''
	args['κεΛ2'] = args['κεΛ2'] or ''
-- 2ος πληθυντικός	
	args['οπΛ2'] = args['οπΛ2'] or ''
	args['γπΛ2'] = args['γπΛ2'] or ''
	args['δπΛ2'] = args['δπΛ2'] or ''
	args['απΛ2'] = args['απΛ2'] or ''
	args['κπΛ2'] = args['κπΛ2'] or ''
-- no 2ος δυϊκός

------------
return fulltable(args)
end


--------------------------------------------------------------------------
--           SPECIFIC TEMPLAGES / ΕΠΙΜΕΡΟΥΣ ΠΡΟΤΥΠΑ                     --
--------------------------------------------------------------------------
-- =================== α...ω ======================= --

-- see [[Module:zz/functions]]

return export

-- ======================NOTES

--[=[  --GREY, too dull
-- =========== standard colours (GREY) and styles
-- borders
c_border = '#e3e5e8' -- same as c3 -- or, stronger: same as c_1
c_bord = '#eaf0fa' -- or '#eeeeee' -- inner lighter borders
c_bordR = '' -- right border: if there are more columns, it is soft c_bord. If it is the end, it is c_border
-- background colours
c_extra = '#b0c4de'
c_1 = '#aab1bb' -- ROW title1 MAIN, number names, and border for title2 if it exists
c_2 = '#c1c6cd' -- title2 (e.g. subtitles for dialects, genders of adjectives and border for title1
c_3 = '#e3e5e8' -- title3, all the subtitles 
c_4 = '#f1f2f4' -- background for notes - also test: #f8f8ff
]=]--
--[=[ == LightSteelBlue =  #b0c4de 70%-75%-85%-95%) -- too similar to modern greek
-- =========== standard colours (LightSteelBlue =  #b0c4de 70%-75%-85%-95%) and styles
-- borders
c_border = '#c9d7e8' -- same as c3 or stronger: same as c_1
c_bord = '#f4f4f4' -- or '#eeeeee' -- inner lighter borders
c_bordR = '' -- right border: if there are more columns, it is soft c_bord. If it is the end, it is c_border
-- background colours
c_extra = '#b0c4de'
c_1 = '#93aed2' -- ROW title1 MAIN, number names, and border for title2 if it exists
c_2 = '#a5bcd9' -- title2 (e.g. subtitles, genders of adjectives and border for title1
c_3 = '#c9d7e8' -- title3, all the subtitles 
c_4 = '#edf2f7' -- background for notes 




--------------------------------------------------------------------------
--                        3. ΘΕΜΑΤΑ / STEMS                             --
--------------------------------------------------------------------------
--==================================== TRIAL: NOTTTTTTT used yet
stems = function(stem)
-- lemma
	local lemma = args['λήμμα'] or ''
	PAGENAME = mw.title.getCurrentTitle().text
	if lemma  == '' then args['λήμμα'] = PAGENAME:match( "^%s*(.-)%s*$" ) 
		else lemma = args['λήμμα']
	end
-- stems
    local stem = {}
    
    minusletters = args['μείον'] or ''
    if args['μείον'] == '' and args['μείον'] == nil then
    	if args['α'] == 'πλ' or args['α2'] == 'πλ' or args['α'] == 'πλδ' or args['α2'] == 'πλδ' then
    		args['μείον'] = 2
    	else
    		args['μείον'] = args['μείον'] or ''
    	end
    end
	
    args["θ"] = mw.ustring.sub(args['λήμμα'],1,-(minusletters+1))
    -- unaccented:
    args["θ0"] = m_stems.word0(args["θ"])
    
    -- accent on ultima:
    args["θ1"] = m_stems.word1(args["θ0"])
    	-- add peripsomeni_to_oxia = args["θ1ο"]  ????? or just ["θ1"]
    	-- add oxia_to_perispomeni = args["θ1π"]
    
    -- on penultima
    args["θ2"] = m_stems.word2(args["θ0"])
return stem
end


]=]--