explain pattern