Always return a promise
New version