Wrong rotation while moving

Have a simple script that moves an object and rotating it, i want that an object will move while rotating around its axix, but it rotes its Vector perhaps, and works wrong, Thank for any help.

using UnityEngine;
using System.Collections;

public class Meteor : MonoBehaviour {

public float speed = 10f;

void OnCollisionEnter(Collision collision) 

// Update is called once per frame
void Update () 
	transform.Translate(Vector3.down * Time.deltaTime * speed);
	transform.Rotate(2, 0, 2);


Fixed by using this moving:

Vector3 NewPos;
NewPos = transform.position;

NewPos.y = NewPos.y - speed;

transform.position = NewPos;