Abstract Pattern