add bridge pattern.