assert equal 'string1' "string1"
```
:::
- Less commonly, the name of a module already created with the [`module`](/commands/docs/module.md) command. While it is possible to use this command to create a module at the commandline, this isn't common or useful. Instead, this form is primarily used by module authors to define a submodule. See [Creating Modules - Submodules](./creating_modules.md#submodules).
### Module Definitions
The second argument to the `use` command is an optional list of the definitions to import. Again, the module documentation should provide recommendations. For example, the [Standard Library Chapter](../standard_library.md#importing-submodules) covers the recommended imports for each submodule.
Of course, you always have the option to choose a form that works best for your use-case.
- **Import an entire module/submodule as a command with subcommands**
In an earlier example above, we imported the `std/log` module without specifying the definitions:
```nu
use std/log
log info "Hello, std/log Module"
```
Notice that this imports the `log` submodule with all of its _subcommands_ (e.g., `log info`, `log error`, etc.) into the current scope.
Compare the above to the next version, where the command becomes `std log info`:
```nu
use std
std log info "Hello, std Module"
```
- **Import all of the definitions from a module**
Alternatively, you can import the definitions themselves into the current scope. For example:
```nu
use std/formats *
ls | to jsonl
```
Notice how the `to jsonl` command is placed directly in the current scope, rather than being a subcommand of `formats`.
- **Import one or more definitions from a module**
Nushell can also selectively import a subset of the definitions of a module. For example:
```nu
use std/math PI
let circle = 2 * $PI * $radius
```
Keep in mind that the definitions can be:
- Commands
- Aliases
- Constants
- Externs
- Other modules (as submodules)
- Environment variables (always imported)
Less commonly, a list of imports can also be used:
```nu
use std/formats [ 'from ndjson' 'to ndjson' ]
```
::: note Importing submodules
While you can import a submodule by itself using `use <module> </submodule>` (e.g., `use std help`), the entire parent module and _all_ of its definitions (and thus submodules) will be _parsed_ when using this form. When possible, loading the submodule as a _module_ will result in faster code. For example: