Implemented bridge pattern