moved design patterns into its own reposistory