private static List<String> calculateParenthesesSteps(int startPoint) {
		List<String> steps = new ArrayList<>();
		for (int i = startPoint; i < workableExpression.length(); i++) {
			if (workableExpression.charAt(i) == ')') {
				steps.add(workableExpression.substring(startPoint, i)); // that is the end of this step
				return steps; // return it to the caller (the last calculateParenthesesSteps), 
			}
			if (workableExpression.charAt(i) == '(') {
				steps.addAll(calculateParenthesesSteps(i + 1));  // recursivly find the closing parenthesis
				i += steps.get(steps.size() - 1).length() + 1;
				//get the variableCount of the array - 1 -> get last element -> get its length->
				//add 1 for the missing start parenthesis -> sets the index to that closing parenthesis, 
				//which will then move forward when i++ happens
			}
		}
		steps.add(workableExpression.substring(1, workableExpression.length() - 1));
		//the full expression minus the 2 "@"
		return steps;
	}