# Gallium CIL Gallium is a C# simplistic Entity-Component-System (ECS) that is intended to use the patterns and terminology used by `System.Linq` while using C# data structures instead of creating custom ones. It uses the familiar methods like `.Where()` or `.Select()` to work with components. ## Entities The basic unit is an [Entity](./entity.md), a class that had a semi-unique identifier (`entity.Id`) and an immutable collection of components. The entity itself is immutable with all operations returning a new `Entity` object with the same identifier with the modified components based on the operation.