ADD Design Pattern sample; facade, visitor