basic template mechanism
fixed conflicts