added demo; run `npm test`

There are some known bugs