public String getValue(String str) {
        if(StringUtilities.isNumber(str)) {
            return str;
        }

        if(str.contains("(")) {
//            System.out.println(str.substring(0, str.length() - 2));
            HFunction function = functions.get(str.substring(0, str.length() - 2));
            function.run(new String[]{});

            return function.getReturnValue();
        } else {
            if (isStringLiteral(str)) return str;
            return getVariableValue(str).toString();
        }
    }