Update adding Design Pattern