design patterns changes