yes, I can't just return the future since there is another wait and the whole function has to be wrapped in a future.