Abstract patterns