Selection api updated

I could overload `geoOn`, but I don't know if that is a great idea either.