pattern adaption