the comment is not very good now that it uses a promise, so I'm changing it all