private static List<String> calculateVariables() {
		List<Character> variables = new ArrayList<>();
		for (int i = workableExpression.length() - 1; i > 0; i--) { // first and last elements are just placeholder "@" skip them
			if (Character.isLetter(workableExpression.charAt(i))) {
				boolean add = true;
				for (int j = 0; j < variables.size(); j++) {
					if (workableExpression.charAt(i) == variables.get(j)) {
						add = false;
					}
				}
				if (add) {
					variables.add(workableExpression.charAt(i));
				}
			}
		}
		Collections.reverse(variables); // reverse the order so it will be in compact form going forwards not backwards
		//convert the list of chars to a list of strings of length one
		List<String> sVariables = new ArrayList<>();
		for (Character variable : variables) {
			sVariables.add(variable.toString());
		}
		// return the string list
		return sVariables;
	}