public void drawMove(Graphics g, int depth, double tX, double tY, String order){
	//order stuff
	String base = "01,02,12";
	for (char c: order.toCharArray()){
	    String[] b = base.split(",");
	    switch(c){
	    case 'T': 
		base=""+b[2].charAt(1)+b[2].charAt(0)+","+b[1].charAt(1)+b[1].charAt(0)+","+b[0].charAt(1)+b[0].charAt(0);
		break;
	    case 'R':
		base=""+b[0].charAt(1)+b[0].charAt(0)+","+b[2]+","+b[1];
		break;
	    case 'L':
		base=""+b[1]+","+b[0]+","+b[2].charAt(1)+b[2].charAt(0);
		break;
	    }

	}
	String move = "move "+depth+": ";
	String[]  b = base.split(",");

	double x1 = sL * (Math.pow(2,depth)-1) * Math.cos(Math.PI/3);
	double y1 = sL * (Math.pow(2,depth)-1) * Math.sin(Math.PI/3);
	double x2 = sL * (Math.pow(2,depth)) * Math.cos(Math.PI/3);
	double y2 = sL * (Math.pow(2,depth)) * Math.sin(Math.PI/3);

	Graphics2D g2 = (Graphics2D) g;
	g2.setColor(colors.get(depth));
	g2.setStroke(new BasicStroke(3));
	g2.draw(new Line2D.Double(tX-x1,tY+y1,tX-x2,tY+y2));
	g2.draw(new Line2D.Double(tX+x1,tY+y1,tX+x2,tY+y2));

	double bX=tX+sL * (Math.pow(2,depth+1)-1)*Math.cos(Math.PI/3)-sL*Math.pow(2,depth);
	double bY=tY+sL* (Math.pow(2,depth+1)-1) * Math.sin(Math.PI/3);

	g2.draw(new Line2D.Double(bX,bY,bX+sL,bY));

	//draw Strings along lines
	AffineTransform at = new AffineTransform();
	
	
	if(order.length()==0){
	    //mF = new Font("Arial", Font.BOLD, (int) (14));
	    g2.setFont(mF);
	}
	else{
	    mF = new Font("Arial", Font.BOLD,(int) Math.sqrt(sL));
	    g2.setFont(mF);
	}
	
	
	
	g2.drawString(move+b[1].charAt(0)+"->"+b[1].charAt(1),(float)(bX+tS),(float)(bY+tS)+(float)sL/15);
	at.rotate(-Math.PI/3);
	g2.setFont(mF.deriveFont(at));
	g2.drawString(move+b[0].charAt(0)+"->"+b[0].charAt(1),(float)(tX-x2-tS),(float)(tY+y2-tS));
	at.rotate(2*Math.PI/3);
	g2.setFont(mF.deriveFont(AffineTransform.getRotateInstance(Math.PI/3)));
	g2.drawString(move+b[2].charAt(0)+"->"+b[2].charAt(1),(float)(tX+x1+tS),(float)(tY+y1+tS));
	
	
	drawSystem(depth,colors,order,g,tX,tY,sL);
    }