add tests
add list example
Automatically rewritten for npm.