add example
refactor implementation
add key / value classnames to strings
Merge branch 'refactor'