design patterns overview
Merge branch 'origin/draft'