and abstract patterns