blueprint for generation