reformat the post on design patterns