#abstract patterns