Added documentation to the design patterns work