fix return the promise