public String solve() {

        try {
            //Generalize
            generalize();
            //Solve expression
            exp = String.valueOf(Double.parseDouble(selectAndSolve(exp)));

        } catch (Exception e) {
            //FIXME
            //Error - handle and show output to user.
            exp = "ERROR. " + e.getMessage();
        }

        return exp;
    }