put pattern and pallete generation into generative.py