Rotate object in the direction where it is going

I am using horizontal and vertical information from the input and then trying to move object in X and Y plane *there is no use of Z axis now as my player moves in the 2D plane i would like to rotate the front of the player in the respective direction as well

as seen in the image the player moves from UP to RIGHT and hence the front of the Player rotates to Right as well

I am missing out the Implementation of Quaternion. i have tried several approach but its just not working

I need help in rotating the front of the object where the object is going. i have seen some solution but they are not fitting in my case
here is my script

using UnityEngine;
    using System.Collections;
    using UnitySampleAssets.CrossPlatformInput;
    
    public class PlayerController : MonoBehaviour {
    
    	public float speed = 5f;
    	private Quaternion currentRotation;
    	private Quaternion targetRotation;
    	private Vector3 relativeRotation;
    	public float rotationSpeed = 360f;
    	public float h,v;
    
    	// Use this for initialization
    	void Start () {
    	
    	}
    	
    //	// Update is called once per frame
    //	void Update () {
    //		h = CrossPlatformInputManager.GetAxisRaw("Horizontal");
    //		v = CrossPlatformInputManager.GetAxisRaw("Vertical");
    //
    //		Vector3 movement = new Vector3 (h, v, 0.0f);
    ////		if(movement != Vector3.zero)
    //			Move (movement);
    //	}
    //
    //	public void Move(Vector3 movement) 
    //	{
    ////		rigidbody.velocity = movement * speed;
    //		targetRotation = Quaternion.LookRotation (movement);
    //		transform.eulerAngles = Vector3.up * 
    //				Mathf.MoveTowardsAngle (
    //				transform.eulerAngles.z,
    //				targetRotation.eulerAngles.z,
    //				rotationSpeed * Time.deltaTime);
    //	}
    
    	// Update is called once per frame
    	void Update () {
    		h = CrossPlatformInputManager.GetAxisRaw("Horizontal");
    		v = CrossPlatformInputManager.GetAxisRaw("Vertical");
    
    //		Vector3 movement = new Vector3 (h, v, 0.0f);
    		Vector2 movement = new Vector2 (h, v);
    
    		rigidbody.velocity = movement * speed;
    //		relativeRotation = transform.;
    		transform.rotation = Quaternion.LookRotation (relativeRotation);
    
    
    	}
    }

I think ArcTangent is the function you are looking for.

Given an x,y point on a plane, ArcTangent defines the angle between the x-axis and a line between the origin and that point as follows:
Angle = Arctan(y/x)

(Inverse trigonometric functions - Wikipedia check out the section “application: finding the angle of a right triangle.”)
Use your velocity vector’s x and y in ArcTangent to get the angle.

float h = CrossPlatformInputManager.GetAxisRaw("Horizontal");
float v = CrossPlatformInputManager.GetAxisRaw("Vertical");
float angle = Mathf.Atan (v / h); 
//now that we have the angle, it’s easy to generate the quaternion.
transform.rotation = Quaternion.AngleAxis (angle, new Vector3(0,0,1));