Add the design patterns
Add the license
Merge branch 'design'