Rotating, moving and keep on going with constant velocity in direction of click

Hi, I am trying to create a 2D object which rotates and move in the direction of mouse click/touch. Also, I want this object to keep on going with constant speed in same direction even if it reaches the click/touch position. It should only change direction when user again clicks/touches the screen.
I really appreciate all the help, thank you.

public Vector2 targetPosition;
public float speed = 5f;

void Update () {
		targetPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
		//print (targetPosition);
		transform.position = Vector2.MoveTowards(transform.position, targetPosition, speed * Time.deltaTime);