Added the decorator pattern