Some design patterns