---
title: "reference-book/3-gates/Gates"
source: reference-book
version: genesis-0-1-0
id: reference-book/3-gates/Gates
canonical: /docs/reference-book/3-gates/Gates
---


In this chapter we will continue with Gate Shells. Although a variable is quite useful, there are many use cases where a simple variable
cannot handle the complexity of data models and flows. There are valid cases where we need to combine multiple vibrations in order to represent a more complex data structure or logic. This is where the Gates become quite handy.

Gates are one of the Shell types in Simorg. They do exactly what their name suggests: they act as a Gate for Vibrations.

Gate Shells can be seen as vibration aggregators. At the moment, Simorg has two Gate Shells and they are different based on their vibration condition.

To use Gates we wrap our vibrations inside <<<AND shell ( )>>> or <<<OR shell [ ]>>>. Each of these types has its own unique behavior.

$$$AlertBox type=INFO title= Post-Vibration Behavior message= A Gate Shell will be cleared out after it releases its energy. $$$

