^title Modules Wren comes with two kinds of modules, the core module (built-in), and a few optional modules that the host embedding Wren can enable. ## Core module The core module is built directly into the VM and is implicitly imported by every other module. You don't need to `import` anything to use it. It contains objects and types for the language itself like [numbers][] and [strings][]. Because Wren is designed for [embedding in applications][embedding], its core module is minimal and is focused on working with objects within Wren. For stuff like file IO, graphics, etc., it is up to the host application to provide interfaces for this. [numbers]: core/num.html [strings]: core/string.html ## Optional modules Optional modules are available in the Wren project, but whether they are included is up to the host. They are written in Wren and C, with no external dependencies, so including them in your application is as easy as a simple compile flag. Since they aren't *needed* by the VM itself to function, you can disable some or all of them, so check if your host has them available. So far there are a few optional modules: * [meta docs](meta) * [random docs](random)