Decorator Pattern | upgrade | upgrade 1 | try2