Implemented the Bridge pattern