DistanceStrategy interface and some Fixes