Decorator design pattern added