GD PNG Transparency help!

Hi guys! for that bast 8 hours ive been grinding my teeth trying to get this to work
basically we are layering transparent 24-bit PNGS over one another, however unless i Index the PNGS (which cause ugly jaggerd lines) they show black backgrounds

weve managed to work it so that the very bottom most layer works as transparent RBG mode PNG but the others still wont.

PLEASE help, weve scoured the net, tried 100000 different methods but we’re stumped!

here is the code

<?php
  header ("Content-type: image/png"); 
 //$imgbackground=imageCreateFromPng("paperdoll/background.png");
  $imgTorso=imageCreateFromPng("paperdoll/human_body.png"); 
  $imgHair=imageCreateFromPng("paperdoll/malehair1_2.png");
  $imgEyes=imageCreateFromPng("paperdoll/eyes1.png");
  $imgEars=imageCreateFromPng("paperdoll/human_ears.png");
  $imgMouth=imageCreateFromPng("paperdoll/mouth1.png");
  $imgBody=imageCreateFromPng("paperdoll/scivvies.png");
  

	 
  imagecolortransparent($imgTorso,imagecolorat($imgTorso,0,0));
  imagecolortransparent($imgHair,imagecolorat($imgHair,0,0));
  imagecolortransparent($imgEyes,imagecolorat($imgEyes,0,0));
  imagecolortransparent($imgEars,imagecolorat($imgEars,0,0));
  imagecolortransparent($imgMouth,imagecolorat($imgMouth,0,0));
  imagecolortransparent($imgBody,imagecolorat($imgBody,0,0));
  
    //	imageAlphaBlending($imgbackground, true);
	imageAlphaBlending($imgTorso, true);
	imageAlphaBlending($imgHair, true);
	imageAlphaBlending($imgEyes, true);
	imageAlphaBlending($imgEars, true);
	imageAlphaBlending($imgMouth, true);
	imageAlphaBlending($imgBody, true);
	
	//imageSaveAlpha($imgbackground, true);
    imageSaveAlpha($imgTorso, true);
    imageSaveAlpha($imgHair, true);
	imageSaveAlpha($imgEyes, true);
	imageSaveAlpha($imgEars, true);
	imageSaveAlpha($imgMouth, true);
	imageSaveAlpha($imgBody, true);
  
 //imagecolortransparent($imgbackground,imagecolorat($imgbackground,0,0));
  $insert6_x = imagesx($imgTorso); $insert6_y = imagesy($imgTorso);
  $insert_x = imagesx($imgHair); $insert_y = imagesy($imgHair); 
  $insert2_x = imagesx($imgEyes); $insert2_y = imagesy($imgEyes); 
  $insert3_x = imagesx($imgEars); $insert3_y = imagesy($imgEars); 
  $insert4_x = imagesx($imgMouth); $insert4_y = imagesy($imgEars); 
  $insert5_x = imagesx($imgBody); $insert5_y = imagesy($imgEars); 
  imagecopymerge($imgTorso,$imgTorso,0,0,0,0,$insert6_x,$insert6_y,100); 
  imagecopymerge($imgTorso,$imgHair,0,0,0,0,$insert_x,$insert_y,100); 
  imagecopymerge($imgTorso,$imgEyes,0,0,0,0,$insert2_x,$insert2_y,100); 
  imagecopymerge($imgTorso,$imgEars,0,0,0,0,$insert3_x,$insert3_y,100); 
  imagecopymerge($imgTorso,$imgMouth,0,0,0,0,$insert4_x,$insert4_y,100); 
  imagecopymerge($imgTorso,$imgBody,0,0,0,0,$insert5_x,$insert5_y,100); 
  //imagecopymerge($imgbackground,$imgbackground,0,0,0,0,$insert6_x,$insert6_y,100); 
  imagepng($imgTorso,"",100); 
?>


here is the result >
http://sammystudio.co.uk/majv1/avatar3.php