i can't totally tell from the control flow, but does this get called more than once per location? i had used an ugly api to avoid that since it's a particularly expensive call