fully functional
use promises
add tests
add tests
add license, readme
update docs
tests - passing
add travis