pattern, example, model