patterns & macro