https://github.com/leprosus/js-small