refactor segments model, begin geoUtils module