How do I Instantiate at a transform?

Here is my script:

#pragma strict

import UnityEngine.UI;

var charController : CharacterController;
var onoff : boolean;
var testObject : GameObject;
var respawnTransform : Transform;
var Player : GameObject;
var fpscontroller: GameObject;

static var playerIsDead = false;
static var playerIsRespawned = false;

function Start () 
{
    charController = gameObject.GetComponent(CharacterController);
    Player = GameObject.FindGameObjectWithTag("Player");
}

function Update ()
{
    if (playerIsDead == true)
    {
        onoff = false;
        charController.enabled = false;
        if (onoff == true)
            testObject.active = true;
        if (onoff == false)
            testObject.active = false;
        Destroy(Player);
        RespawnPlayer();
    }

}

function RespawnPlayer ()
{
    Instantiate(fpscontroller, respawnTransform, Quaternion.identity);
}

@script RequireComponent(CharacterController)

I get this error when I try instantiate my fpscontroller:
Assets/RespawnMenuV2.js(41,16): BCE0023: No appropriate version of ‘UnityEngine.Object.Instantiate’ for the argument list ‘(UnityEngine.GameObject, UnityEngine.Transform, UnityEngine.Quaternion)’ was found.

You can use

Instantiate(fpscontroller, respawnTransform.position, Quaternion.identity);

because the Instantiate method takes the position, not the hole transform.
And a Transform is holding the position, rotation and scale.

I found a more efficient way around this but it still has errors
The new problem is at: