# Storage

Raven uses a **fake ReplicatedStorage** for scripts.

### What goes in Storage

* Modules.
* Client-only scripts.

### What does NOT go in Storage

* GUIs
* Viewmodels
* Models

### Using those blacklisted assets

**Just** require them in another folder in ReplicatedFirst <mark style="color:$primary;">**outside**</mark> of raven.

#### Example

```luau
--==Modules
local Constants 
local Signals

--==Variables
local TestSignal

--==Main
local ExampleController = {
	Priority = 10,
	Enabled = true
}

--public
function ExampleController:Init(raven)
	--set modules
	Constants = raven:Require("Modules/Constants")
	Signals = raven:Require("Modules/Signals")
	--set variables that need modules | not required but safe
	TestSignal = Signals.TestSignal
end

function ExampleController:Start()
	TestSignal:Connect(function()
		print("Test signal recieved")
	end)
end

return MovementController
```
