a bit further, protect from double resolve or a resolve and a throw