Name: Filter Intent: - apply composable transformations to a stream of elements STREAM, not array or list Structure: - transformations are chained line in a pipeline - all the tranformations have the same interface - there are two key methods - connect to the previous module in the chain statically is constructor, dynamically is setter - pull an element from the previous module - there is an initial element in the chain (source)