public static void solveFlexible(Node node)			//TODO: make for (x/y)/(a/d)
    {
        if(node.data.length() == 0)
            return;
        double ans;
        boolean modified = false;

        switch( node.data.charAt(0) )
        {
            case '+':
                ans= 0;
                for(int i = 0; i<node.child.size();)		//sum the "solve()" of all child (recursion)
                {
                    try
                    {
                        ans += solve(node.child.get(i));
                        node.child.remove(i);
                        modified = true;
                    }
                    catch(NumberFormatException e)				//if not solvable
                    {
                        i++;
                    }
                }
                if(modified)
                    node.child.add(Parser.parse( Double.toString(ans)));
            case '*':
                ans= 1;
                for(int i = 0; i<node.child.size();)		//sum the "solve()" of all child (recursion)
                {
                    try
                    {
                        ans *= solve(node.child.get(i));
                        node.child.remove(i);
                        modified = true;
                    }
                    catch(NumberFormatException e)				//if not solvable
                    {
                        i++;
                    }
                }
                if(modified)
                    node.child.add(Parser.parse( Double.toString(ans)));
        }
    }