use the newer/more familiar reject/resolve everywhere instead of finish/fail