regroup common behavior