This can be an internal function, if there isn't a use-case for calling it via the api.