created bridge pattern