Does this need to return a promise?