start refactoring
refactor: extract doOnResult/doOnReject
fix