Refactor, add geocode api call