some refactoring of the custom location fragment and the geoLocation class