Modified the AddressDistanceServices class name, I also change the method in there that does the reverse lookup for mileage to return -1 instead of 0 for the default value.   This is intended to return an impossible default distance value.  I then modified the classes that lookup distance to look for that value and take no action if it's returned.  This means that the distance lookup probably failed.  The CalcMiileageServices class that scans the whole database for entries that have not had their disatance calculated was changed to remove rows that only had one entry.  I also changed it to remove rows that had a distance of less than 1km from the previous point.  This serves to keep down the number of short distance hops in the database and focus on ones that have  a more realistic amount of distance traveled.