design patterns added