anchor.diff:      if (isEmpty){
         return 0;
       }else{
  -      return totalDistance / positions.length;      
  +      return totalDistance / duration;      
       }
     }
  -
  -  num calculateDistance(num lat1, num lon1, num lat2, num lon2) {
  -    num latDiff = lat2 - lat1;
  -    num lonDiff = lon2 - lon1;
  -
  -    var a = pow(sin(latDiff / 2), 2) + cos(lat1) * cos (lat2) * pow(sin(lonDiff / 2), 2);
  -    
  -    var angularDistance = 2 * atan2(sqrt(a), sqrt(1 - a));
  -    
  -    return EARTH_RADIUS * angularDistance;
  -  }
     
  -  String get duration => "${(last.timestamp - first.timestamp)/1000}";
  +  num get duration => (last.timestamp - first.timestamp)/1000;
   
   }
positive.code:     return long == p.long && lat == p.lat;
    }
    
   /* bool operator ==(Position p){
      return long == p.long && lat == p.lat;
    }*/
    
  }
  
  
negative.code:         distances.remove(lastKeyToRemove); 
        }
        positions[pos.timestamp] = pos;
        distances[pos.timestamp] = last.getDistanceTo(pos);
      }
      return true;
    }
  