Geolocation

I'm kind of winging it in here. It might get merged in to master, but probably won't.