private double evaluateOp(Node node) throws Exception {
		double value = 0.0;

		switch (node.op) {

		case ADD:
			if (node.left != null)
				value = evaluate(node.left);
			value += evaluate(node.right);
			break;
		case SUBTRACT:
			if (node.left != null)
				value = evaluate(node.left);
			value -= evaluate(node.right);
			break;
		case DIVIDE:
			value = evaluate(node.left);
			value /= evaluate(node.right);
			break;
		case MULTIPLY:
			value = evaluate(node.left);
			value *= evaluate(node.right);
			break;
		case POWER:
			value = Math.pow(evaluate(node.left), evaluate(node.right));
			break;
		default:
			throw new Exception("evaluate: Failed because of Unknown operator!");
		}

		return value;

	}