change API start from tests, use promises
create promises tests and tweak existing ones for new API
first stub at implementing new API
fix 6.3.1 test and bug that was found
fix 6.x tests
fix 1.x tests
fix 2.10.x tests
fix 5.3.x tests
fix 7.x tests and bugs found
fix test 6.x all tests now pass
ocd
Optimization
tweak tests
update docs