anchor.diff:  let splineChart =
   
       let means = 
  -        TemporalClassification.calcMeanOfRep y_Values 3
  +        Seq.getMeanOfReplicates 3 y_Values
  +        |> vector
   
       //plot the means of the replicates as gray dots
       let origPoints = 
  
positive.code: 
  //returns the shape class that matches the given case best. (constraints for 2 extrema are investigated)
  let bestFit = 
      TemporalClassification.getBestFit x_Values y_Values 3 weightingMethod
      |> fun spline ->
          let parentShape = TemporalClassification.getParentShape x_Values spline.TraceA spline.TraceC
          let extrema     = TemporalClassification.getExtrema x_Values spline.TraceA spline.TraceC
          sprintf "ParentShape: %A\nLocation of extrema are: %A" parentShape extrema
  
  
  (*** include-value:bestFit ***)
  
negative.code: 
  ///fits a spline with two extrema present, where the first one is a maximum
  let minMaxSpline = 
      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.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 
  