practice using Decorator Pattern