perform a promise