Abstract Pattern Design by achilleas ioannidis