Changed exec to return a promise.