fixxed geopoint and refactor