# 3.1.13: Dispatch Elements

AAll structural elements in Karamba3D can be given identifiers, or names. Names are case-sensitive and must start with a letter or underscore. After the initial letter, numbers and letters may follow. Names do not need to be unique; two elements can have the same name without causing issues in Karamba3D. Each element has a default identifier: its index. This is why an integer number is not allowed as an element identifier.

Fig. 3.1.13.1 shows how a list of elements can be split into two data trees using their identifiers. The **“Dispatch Elements”** component expects a list of elements in **“Elems”** and a list of identifiers or regular expressions in **“Id”**. Regular expressions must be prefixed by a “&” and represent a powerful selection tool. In Fig. 3.1.13.1, three use cases are shown:

* **“&.\[1-2]”**: The “.” matches any character; “\[1-2]” matches one character in the range of “1” to “2”. This is equivalent to “\[12]”.
* **“\&b.”**: Matches any identifier that starts with “b” followed by any character.
* **“&.\[13]”**: Matches any identifier that starts with any character followed either by “1” or “3”.

![Fig. 3.1.13.1: Elements can be selected by using their identifiers.](https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MCkDlhlZpqUmakSqOrp%2F-MjnnpdO4P_Wfdq_EpNx%2F-MjnozcZXiGCm-UQ00Cg%2Fimage.png?alt=media\&token=1ed1c43f-b674-460b-b3b3-265d65eda51f)

{% file src="<https://2671626451-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6rkhS8IteqWJRfUuJlL5%2Fuploads%2F9vke5ThBLtdNE6tCowyE%2FDispatchElements.gh?alt=media&token=0e9111e7-7cb3-4db4-ab34-05f5394160e8>" %}

There are two output plugs on the **“Dispatch Elements”** component: **“SElem”** returns the selected elements that match the selection criteria, and **“RElem”** returns the rest. The entries in the **“SElem”** and **“RElem”** output data retain their positions in the original list of elements. Rejoining them results in the original order of elements.
