Hi, I'd like to understand more of the inner workings of LMTX. When I understand it right, most of the code is now processed in Lua but I was not able to find it. For example, I tried to find out how setupitemgroup is handled (just as an example of a more complex command). The wiki has a (kind of) autogenerated description: https://wiki.contextgarden.net/Command/setupitemgroup I found the data for this (at least this is my guess) here: tex/texmf-context/tex/context/interface/mkiv/i-itemgroup.xml Are these xml files created by hand or somehow generated? Now, when I use `\setupitemgroup[itemize:1][symbol=3,itemalign=middle]`: How are the arguments handled and is this a generic process or specific to each command? Is there a simple way to define a new command/environment and handle the keyword arguments in Lua? For example defining a frontend command like this: \startsomething[firstword={Some},secondword={Text}] Body \stopsomething which I can handle in some lua code like this: function something(firstword, secondword, body) tex.print(firstword) tex.print(secondword) tex.print(body) end Are there any resources beside the context code itself where I can learn that? Gerion