@Override
    public FractalValue visitASTRender(ASTRender form, FractalState state) throws FractalException {
	System.out.print("->render");
	int level, prev_level;
	double scale, prev_scale;
	fractalExp = form.getFractal();

	if(form.getLevel()==null || form.getScale()==null) {
		level = 9;
		scale = 100;
	}
	else{
		FractalValue scaleValue =  form.getScale().visit(this,state);
		FractalValue levelValue = form.getLevel().visit(this, state);
		level = levelValue.intValue();
		scale = scaleValue.realValue();
	}	

	prev_level = state.getDefaultLevel();
	prev_scale = state.getDefaultScale();

	state.setDefaultLevel(level);
	state.setDefaultScale(scale);
	
	
	Fractal fractal = fractalExp.visit(this, state).fractalValue();
	System.out.println("\n\tscaleValue: "+scale+ " \n\tlevel: "+level);
	ArrayList<ASTStatement> fractal_body = fractal.getBody().getSeq();
	Iterator i = fractal_body.iterator();
	ASTStatement s;
	while(i.hasNext()) {
		System.out.print("\t->Stmt");
		s = (ASTStatement)i.next();
		s.visit(this, state);
		System.out.println("");
	} 
	
	state.setDefaultLevel(prev_level);
	state.setDefaultScale(prev_scale);

	
	return FractalValue.NO_VALUE;
    }