provided Bridge-pattern.