v2

Design Pattern v2