bridge, decorator and facade patterns added