Actually I think this already returns a promise