Houdini's procedural nature is found in its operators. Digital assets are generally constructed by connecting sequences of operators (or OPs). This proceduralism has several advantages: it allows users to construct highly detailed geometric or organic objects in comparatively very few steps compared to other packages; it enables and encourages non-linear development; and new operators can be created in terms of existing operators, a flexible alternative to non-procedural scripting often relied on in other packages for customisation. Houdini uses this procedural paradigm throughout: for textures, shaders, particles, "channel data" (data used to drive animation), rendering and compositing.