convert to promise based implementation
convert to js
make EDN data a bit more transparent
reduce API
update deps