# Working with Containers

The *container* entity makes the *input*, *output*, or *submittedSample* container available to the scripting engine.

* The container can be queried for its name, for example:

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">input.::container::.::name::
  </code></pre>
* Container name, UDFs / fields, and entity information can be read or written, for example:

  <pre class="language-markup" data-overflow="wrap"><code class="lang-markup">output.::container::.::example udf1:: = input.::container::.::example udf1::
  </code></pre>

Example basic expressions:

{% code overflow="wrap" %}

```markup
-exp 'output.container.::containerUDF:: = ::This is a string::'
-exp 'input.::container::.::containerUDF:: = ::This is a string::'
-exp 'submittedSample.container.::containerUDF:: = ::This is a string::'
```

{% endcode %}

{% hint style="info" %}
The word 'container' may be optionally surrounded by "::"
{% endhint %}
