upgrade then/promise
refactor
2.0.0