redesign of decorator and strategie pattern