implemented a distance method and the guard on addition and substraction was too strict