character controller

My character moves on the x and y axis but im trying to make move in the z axis too so he can turn around... This What I have:

using UnityEngine;
using System.Collections;

public class MovementCharacter : MonoBehaviour {
     public float speed = 6.0F;
     public float jumpSpeed = 8.0F;
     public float gravity = 20.0F;
     private Vector3 moveDirection = Vector3.zero;

     void Update() {
          CharacterController controller = GetComponent<CharacterController>();

          if (controller.isGrounded) {
               moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
               moveDirection = transform.TransformDirection(moveDirection);
               moveDirection *= speed;

               if (Input.GetButton("Jump"))
                    moveDirection.y = jumpSpeed;

          }
          moveDirection.y -= gravity * Time.deltaTime;
          controller.Move(moveDirection * Time.deltaTime);
    }
}

Did you have a look at the First Person Shooter tutorial? http://unity3d.com/support/resources/tutorials/fpstutorial

It pretty much has the user moving everywhere.