Trying to change the speed of backwards movement

I have no idea what I’m doing, but ive set up Forward and Backward inputs and its not moving backwards

completely new to coding, i used a script from another thread

var speed = 3;
var rotateSpeed = 3.5;
var backwardSpeed = 1;

 

 function Update ()

 {

     var controller : CharacterController = GetComponent(CharacterController);

     transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);

 

     var forward = transform.TransformDirection(Vector3.forward);

     var curSpeed = speed * Input.GetAxis("Forward");
     
     var backward = backwardSpeed * Input.GetAxis("Backward");
     

     controller.SimpleMove(forward * curSpeed);

 }

 

 @script RequireComponent(CharacterController)

Ok so ive fixed it sort of

var walkSpeed = 2;
var rotateSpeed = 2.8;
var backwardSpeed = 1.4;
var runSpeed = 3.5;
var moveSpeed = 2.2;

 

 function Update ()

 {
     if(Input.GetButtonDown("Sprint"))
     {
      walkSpeed = runSpeed;
     }
     
     if(Input.GetButtonUp("Sprint"))
     {
      walkSpeed = moveSpeed;
     }
     
     var controller : CharacterController = GetComponent(CharacterController);

     transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);

 

     var forward = transform.TransformDirection(Vector3.forward);

     var curSpeed = walkSpeed * Input.GetAxis("Forward");
     
     var backwards = backwardSpeed * Input.GetAxis("Backward");
     
     var back = transform.TransformDirection(Vector3(0,0,1));

     controller.SimpleMove(forward * curSpeed);
     
     controller.SimpleMove(back * backwards);

 }

 

 @script RequireComponent(CharacterController)

Is this the correct way of writing it? added sprint