anchor.diff:              if d then
                   return location |> Mod.step (fun p delta (cam : CameraView) ->
   
  -                    let step = -0.006 * speed.Value * (cam.Forward * float delta.Y)
  +                    let step = -0.006 * moveSpeed.Value * (cam.Forward * float delta.Y)
                       cam.WithLocation(cam.Location + step)
   
                   )
               else
                   return AdaptiveFunc.Identity
           }      
  -
  +    /// <summary> Implement common control functions for movement, looking, panning, and zooming 
  +    /// for a given camera.</summary>
  +    /// <param name="moveSpeed"> the rate at which all movement occurs</param>
  +    /// <param name="mouse"> the mouse inputs (this is often pulled from the parent window)</param>
  +    /// <param name="keyboard"> the keyboard inputs (this is often pulled from the parent window)</param>
  +    /// <param name="time"> the relative time (this is often pulled from the parent window)</param>
  +    /// <param name="camera"> the initial state of the camera</param>
  +    /// <returns>An incremental function that takes a CameraView</returns>
       let controlWithSpeed (speed : ModRef<float>) (mouse : IMouse) (keyboard : IKeyboard) (time : IMod<DateTime>) (cam : CameraView) : IMod<CameraView> =
            Mod.integrate cam time [
               controlWSADwithSpeed speed keyboard time
  
positive.code:             else
                  return AdaptiveFunc.Identity
          }  
  
      let controllScroll (m : IMouse) (time : IMod<DateTime>) =
          let active = Mod.init false
  
  
negative.code:             else
                  return AdaptiveFunc.Identity
          }
      /// <summary> Gives a camera an option to move around laterally from
      /// the direction of the camera.
      /// A middle mouse button controls the functionality.</summary>
      /// <param name="mouse"> the mouse inputs (this is often pulled from the parent window)</param>
      /// <returns>An incremental function that takes a CameraView</returns>    
      let controlPan (m : IMouse) =
          let down = m.IsDown(MouseButtons.Middle)
          let location = m.Position |> Mod.map (fun pp -> pp.Position)
  