making patern configurable