# Prefab rotation problem

So i have an arrow prefab that is instantiated and force is added when mouse button released but the problem is once the arrow is in flight if i click mouse button again the arrow will rotate towards mouse again?

Here is the code for instantiating

``````    void HandleRotation(){

if (Input.GetMouseButton(0)){

if(ArrowControl.thrust < 1000f){
ArrowControl.thrust++;
ArrowControl.thrust++;
}else{
ArrowControl.thrust = Random.Range (900f, 1000f);
}
Debug.Log (ArrowControl.thrust);

isAiming = true;

Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
Vector3 dir = Input.mousePosition - pos;
angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
if(test){
Instantiate (arrow, arrowpoint.position, Quaternion.AngleAxis(angle, Vector3.forward));
test = false;
}
}
}
``````

And here is the code for adding force to arrow

``````void AddPower(){

if (shoot) {

rotating = true;
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
Vector3 dir = Input.mousePosition - pos;
angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
ArrowControl.arrowrb.AddForce (dir.normalized * ArrowControl.thrust);
ArrowControl.arrowrb.gravityScale = 1f;

test = true;
}
}
``````

I also have a ArrowFlight function but i had this problem before the function so i dont think that it has anything to do with that.

Your `Instantiate` call returns a reference to the cloned object. You’ll usually want to send any instructions or init calls to that clone – you may also want to keep track of it in a list.

Instead, your current code appears to be keeping track of only one arrow. That’s no good; if you want to have multiple arrows, your code will need to match that expectation.

There are plenty of tutorials for instantiating/cloning prefabs, so I recommend searching for them.