clean up logic behind the geoSelection