public void removeElement (ShapeObject temp, Graphics2D shape){


		if(temp instanceof Line){  
			Line line = new Line(temp.starting_point,temp.ending_point,Color.WHITE);
			line.drawLine(shape);
			line.setVisible(false); // make visibility false for redo operation 
		}

		//if got object is square fill information related to that
		else if(temp instanceof Square){
			Square square = new Square(temp.starting_point, temp.ending_point,Color.WHITE,((Square) temp).fill);
			square.drawSquare(shape);
			square.setVisible(false);
		}

		//if got object is circle fill information related to that
		else if(temp instanceof Circle){
			Circle circle = new Circle(temp.starting_point,temp.ending_point,Color.WHITE, ((Circle) temp).fill);
			circle.drawCircle(shape);
			circle.setVisible(false);
		}

		current_start=new Point(0,0);
		current_end=new Point(0,0);
		draw(shape);
		update();
	} // remove shape