adding withPromise