Warm doesn't go forward!

I have warm which is its head and has children (body and eyes). it turn around but i want it to go forward by keys Up , but it goes but not forward.what is the problem. here it is the script:
using UnityEngine;
using System.Collections;

public class SimpleMoveForward : MonoBehaviour {
public float MoveSpeed=0.1f;
public float RotationSpeed=0.1f;
public Vector3 Normal;
public float MoveX;
public float MoveZ;
void Start () {

}

// Update is called once per frame
void Update () {
    float CurSpeed=Input.GetAxis("Vertical")*MoveSpeed;
	Normal=CurSpeed*transform.TransformDirection(transform.forward).normalized;
	MoveX=Normal.x;
    MoveZ=Normal.z;
	transform.Rotate(0,RotationSpeed*Input.GetAxis("Horizontal")*MoveSpeed,0);
    transform.Translate(MoveX,0,MoveZ);
}

}

transform.Translate() by default is in local coordinates. Your are translating your movement into world coordinates. You have a few choices:

  1. Get rid of the TransformDirection on line 4.

  2. Add the Space.World parameter to the translate:

    transform.Translate(MoveX, 0, MoveZ, Space.World);

  3. Calculate the position:

    transform.position += new Vector3(MoveX, 0.0f, MoveZ);