anchor.diff:              else
                   model, Cmd.none
   
  -let onThreshChange (e : React.FormEvent) dispatch =
  +let extractSliderEvtenValue (e : React.FormEvent) =
       let threshSlider = e.currentTarget :?> Browser.HTMLInputElement
  -    let (isSuccess, value) = threshSlider.value |> Int32.TryParse
  +    threshSlider.value |> Int32.TryParse
  +
  +let onCutThreshChange e dispatch =
  +    let isSuccess, value = extractSliderEvtenValue e
       if isSuccess then ThreshUpdatedMsg (CutThresh value) |> dispatch else ()
  +
  +let onFadeThreshChange e dispatch =
  +    let isSuccess, value = extractSliderEvtenValue e
  +    if isSuccess then ThreshUpdatedMsg (FadeThresh value) |> dispatch else ()
   
   module R = Fable.Helpers.React
   
  
positive.code:     Math.Abs (computeTotalLuma oldHist - computeTotalLuma newHist)
  
  let detectShot model currentHist =
      // TODO implement all the logic
      let difference =
          computeDifference model.lastShotHist currentHist
  
  
negative.code:                 R.Props.Min 1
                  R.Props.Max TMAX
                  R.Props.Value (string model.cutThresh)
                  R.Props.OnChange (fun e -> onCutThreshChange e dispatch )
              ]
              R.label [ R.Props.HtmlFor "fade-thresh-slider" ] [ R.str (sprintf "FadeThresh at %i" model.fadeThresh) ]
              R.input [
                  R.Props.Id "fade-thresh-slider"
                  R.Props.Type "range"
                  R.Props.Min 1
                  R.Props.Max TMAX
                  R.Props.Value (string model.fadeThresh)
                  R.Props.OnChange (fun e -> onFadeThreshChange e dispatch )
              ]
          ]
          R.div [] [
  