Bridge pattern Implementation