aadding the design patterns