changed updating of location from a once_token to a boolean for simplicity