# Overview > [!WARNING] > Modular Diffusers is under active development and it's API may change. Modular Diffusers is a unified pipeline system that simplifies your workflow with *pipeline blocks*. - Blocks are reusable and you only need to create new blocks that are unique to your pipeline. - Blocks can be mixed and matched to adapt to or create a pipeline for a specific workflow or multiple workflows. The Modular Diffusers docs are organized as shown below. ## Quickstart - A [quickstart](./quickstart) demonstrating how to implement an example workflow with Modular Diffusers. ## ModularPipelineBlocks - [States](./modular_diffusers_states) explains how data is shared and communicated between blocks and [`ModularPipeline`]. - [ModularPipelineBlocks](./pipeline_block) is the most basic unit of a [`ModularPipeline`] and this guide shows you how to create one. - [SequentialPipelineBlocks](./sequential_pipeline_blocks) is a type of block that chains multiple blocks so they run one after another, passing data along the chain. This guide shows you how to create [`~modular_pipelines.SequentialPipelineBlocks`] and how they connect and work together. - [LoopSequentialPipelineBlocks](./loop_sequential_pipeline_blocks) is a type of block that runs a series of blocks in a loop. This guide shows you how to create [`~modular_pipelines.LoopSequentialPipelineBlocks`]. - [AutoPipelineBlocks](./auto_pipeline_blocks) is a type of block that automatically chooses which blocks to run based on the input. This guide shows you how to create [`~modular_pipelines.AutoPipelineBlocks`]. ## ModularPipeline - [ModularPipeline](./modular_pipeline) shows you how to create and convert pipeline blocks into an executable [`ModularPipeline`]. - [ComponentsManager](./components_manager) shows you how to manage and reuse components across multiple pipelines. - [Guiders](./guiders) shows you how to use different guidance methods in the pipeline.