drop thenable objects support
refactor then
add tests