part 2 design patterns 5176574