fixed nested TimeRange search, refactored Location using GeoPoint