I am new at unity coding, and I coded my camera to follow a cube by remaining at a certain distance at height always. problem is that i can change the distance at which the camera is ,at runtime. But not the height. How do i fix dis. Thanks in advance.

Here is my smoothfollow code.
using UnityEngine;
using System.Collections;

public class follow : MonoBehaviour {

public Transform target;
	public Quaternion currentRotation;
public Quaternion currentHeight;
public float height;
public float distance;
	void Start () {
	}

// Update is called once per frame
void Update () {
	float wantedrotation = target.eulerAngles.y;
	float currentrotation = transform.eulerAngles.y;
	float wantedHeight = target.position.y + height;
	float currentHeight = transform.position.y;

	currentrotation = Mathf.LerpAngle (currentrotation, wantedrotation,distance );
	currentHeight = Mathf.Lerp (currentHeight, wantedHeight ,height  );
	currentRotation = Quaternion.Euler (0, currentrotation, 0);
	transform.position = target.position;
	transform.position -= currentRotation * Vector3.forward * distance;
	transform.rotation = target.rotation ;
}

}

Why is currentHeight a quaternion ?
Shouldn’t it be a Vector3 ?