use absolute value instead of checking both ends of weight tolerance