Added Decorator Pattern