V3

I disagree with the change in naming here. `_locations` is far too generic of a name and is not clear enough when used in other functions.