Implemented decorator pattern