Implemented in the pipeline pattern