abstract factory
add small icons
Merge branch 'origin/draft'