add design pattern  Decorator