add new design patterns