decorator pattern 771685