add logic to geocode if necessary