create some notes on design patterns