Problem instantiating prefab

Hi I am making a breakout style game. My brick prefab currently has four child gameobjects which contain 2DColllidors. One collidor for each side (top, left, right, bottom) that detect when the ball has collided with the brick. Whenever I instantiate the Brick, the new Brick(Clone) loses the child gameobjects, prefab rotation, and prefab scale. I would like it to instantiate identically to the prefab. Any suggestions?

Code to instantiate:

void spawnWaves()
	brick = GameObject.FindGameObjectsWithTag ("Brick");
	brick.transform.localRotation = Quaternion.identity;
	Vector3 spawnPosition = new Vector3(spawnValues.x, Random.Range(1.0f,5.15f), spawnValues.z);
	//Quaternion spawnRotation = new Quaternion ();
	Instantiate (brick, spawnPosition, transform.rotation);

It shouldn’t lose the scale. When you do the Instantiate, don’t specify position or rotation. Assuming ‘brick’ is a GameObject;

  GameObject go = Instantiate(brick) as GameObject;
  go.transform.position = spawnPosition;