bridge pattern

bridge pattern