anchor.diff:  
   //lower end functions
   double _getLowerEnd3_7(List<double> values) {
  -  return (values[1] - values[0]) / (values[values.length - 1] - values[0]);
  +  return (values[1] - values.first) / (values.last - values.first);
   }
   
   double _getLowerEnd8_12(List<double> values) {
  -  return (values[1] - values[0]) / (values[values.length - 2] - values[0]);
  +  return (values[1] - values.first) /
  +      (values[values.length - 2] - values.first);
   }
   
   double _getLowerEnd13(List<double> values) {
  -  return (values[2] - values[0]) / (values[values.length - 3] - values[0]);
  +  return (values[2] - values.first) /
  +      (values[values.length - 3] - values.first);
   }
   
   //Upper end functions
   double _getUpperEnd3_7(List<double> values) {
  -  return (values[values.length - 1] - values[values.length - 2]) /
  -      (values[values.length - 1] - values[0]);
  +  return (values.last - values[values.length - 2]) /
  +      (values.last - values.first);
   }
   
   double _getUpperEnd8_12(List<double> values) {
  -  return (values[values.length - 1] - values[values.length - 2]) /
  -      (values[values.length - 1] - values[1]);
  +  return (values.last - values[values.length - 2]) / (values.last - values[1]);
   }
   
   double _getUpperEnd13(List<double> values) {
  -  return (values[values.length - 1] - values[values.length - 3]) /
  -      (values[values.length - 1] - values[2]);
  -}
  -
  -DixonResults _recursiveCalc(List<double> values, DixonResults resultsObj) {
  +  return (values.last - values[values.length - 3]) / (values.last - values[2]);
  +}
  +
  +DixonResults _calculateQTest(List<double> values, DixonResults results) {
     double lowerEnd = 0.0;
     double upperEnd = 0.0;
   
     if (values.length < 3) {
  -    throw "'n' is lower than 3";
  +    throw DixonException("n is lower than 3");
     } else if (values.length <= 7) {
       lowerEnd = _getLowerEnd3_7(values);
       upperEnd = _getUpperEnd3_7(values);
  
positive.code:   30: 0.412
  };
  
  //Limit values for 99% of confidence
  final Map<int, double> _qTable99 = {
    3: 0.994,
    4: 0.926,
  
negative.code: furnished to do so, subject to the following conditions:
  */
  
  /// The available percentage of confidence to calculate Dixon's Q Test
  enum Confidence { percent95, percent99 }
  
  // The limit values for 95% of confidence
  final Map<int, double> _qTable95 = {
    3: 0.970,
    4: 0.829,
  