impl Bridge pattern