anchor.diff:  
   ///fits a spline with two extrema present, where the first one is a maximum
   let minMaxSpline = 
  -    TemporalClassification.splineIncreasing x_Values (TemporalClassification.calcMeanOfRep y_Values 3) weighting 2  
  +    TemporalClassification.Fitting.splineIncreasing x_Values (vector (Seq.getMeanOfReplicates 3 y_Values)) weighting 2  
       |> fun (constraintMatrices,result) -> result
   
   //returns a list of tuples that describe extrema. The first item defines if the extremum
   //is a maximum (1) or minimum (-1) and the second item defines the corresponding x value.
   let isolateExtrema = 
  -    TemporalClassification.getExtrema x_Values minMaxSpline.TraceA minMaxSpline.TraceC
  -    |> fun extrema -> sprintf "Location of extrema are: %A" extrema
  +    TemporalClassification.Fitting.getExtrema x_Values minMaxSpline.TraceA minMaxSpline.TraceC
  +    |> fun extrema -> sprintf "Location of extrema are: %A" (TemporalClassification.Fitting.extremaToString extrema)
   
   (*** include-value:isolateExtrema ***)
  +
  +(**
  +
  +*)
  +
  +// helper snipplet for visualization of function derivatives
  +let plotAll (xVec:Vector<float>) traceA traceC = 
  +    
  +    let iterateOverX (fu: float -> float) chartName =
  +        [xVec.[0] + 0.001 .. 0.01 .. Seq.last xVec - 0.001] 
  +        |> List.map (fun x -> x,fu x) 
  +        |> Chart.Line 
  +        |> Chart.withTraceName chartName
  +    
  +    let originalSignal = 
  +        let fu = TemporalClassification.Fitting.initEvalAt xVec traceA traceC
  +        iterateOverX fu "signal"
  +    let fstDerivative = 
  +        let fu = TemporalClassification.Fitting.initEvalFstDerivativeAt xVec traceA traceC
  +        iterateOverX fu "fst deriv"
  +    let sndDerivative = 
  +        let fu = TemporalClassification.Fitting.initEvalSndDerivativeAt xVec traceA traceC
  +        iterateOverX fu "snd deriv"
  +    let trdDerivative = 
  +        let fu = TemporalClassification.Fitting.initEvalTrdDerivativeAt xVec traceA traceC
  +        iterateOverX fu "trd deriv"
  +    [
  +    originalSignal |> Chart.withX_Axis (myAxis()) |> Chart.withY_Axis (myAxis())
  +    [fstDerivative;sndDerivative;trdDerivative]|> Chart.Combine |> Chart.withX_Axis (myAxis()) |> Chart.withY_Axis (myAxis())
  +    ]
  +    |> Chart.Stack 1
  +
  +let derivativeChart = plotAll x_Values minMaxSpline.TraceA minMaxSpline.TraceC
  +
  +(*** include-value:derivativeChart ***)
  +
   
   (**
   To classify a signal according to its shape, a specially tailored function can be used. In this case the extrema list is empty because the 
  
positive.code: a lower weight to these points as their importance in the shape determination should be decreased.
  
  *)
  let weightingMethod = TemporalClassification.WeightingMethod.StandardDeviationAdj
  
  //calculate the points weighting according to the specified weightingmethod
  let weighting = TemporalClassification.getWeighting x_Values y_Values weightingMethod 3
  
  let weightingColumnChart = 
      Matrix.getDiag weighting
  
negative.code:     //defines a function that gives the unconstrained spline value for a given x value
      //the AICc is reported as model selection criterion
      let unconstrainedSpline = 
          TemporalClassification.Fitting.getInitialEstimateOfWeighting weighting means x_Values
          |> fun result -> result.AICc,result.SplineFunction
  
      //defines a function that gives the constrained spline value for a given x value
      //Constraint: One minimum
      //the AICc is reported as model selection criterion
      let monotoneSpline = 
          TemporalClassification.Fitting.splineIncreasing x_Values means weighting 0
          |> fun (constraintMatrices,result) -> result.AICc,result.SplineFunction
  
      //defines a function that gives the constrained spline value for a given x value
      //Constraint: A maximum, then a minimum
      //the AICc is reported as model selection criterion
      let maxMinSpline = 
          TemporalClassification.Fitting.splineIncreasing x_Values means weighting 2  
          |> fun (constraintMatrices,result) -> result.AICc,result.SplineFunction
  
      //defines the x_Values, the functions should be fitted with
  