we also need to fail the promise