my pattern - decorator