clalculation encapsulated so that it's easier to make tests. Try Asian/European separation