public void calcRow(int step) {
		int variableCount = Expression.getVariableCount();

		String binaryStep = Integer.toBinaryString(step);
		while (binaryStep.length() < variableCount) {
			binaryStep = "0" + binaryStep; // " step 2 = '10' but if i have 3 steps i need '010'
		}

		List<String> steps = new ArrayList<>(Expression.getFullExpression());
		List<Integer> results = new ArrayList<>();

		for (int i = 0; i < variableCount; i++) {
			results.add(Integer.parseInt(Character.toString(binaryStep.charAt(i))));
		}

		for (int i = variableCount; i < steps.size(); i++) {
			String currentStep = steps.get(i);
			for (int j = 0; j < variableCount; j++) {
				currentStep = currentStep.replace(steps.get(j).charAt(0), binaryStep.charAt(j));
			}
			results.add(Integer.parseInt(calcStep(currentStep)));
		}
		List<String> stringResults = new ArrayList<>();
		for (int r : results) {
			stringResults.add(Integer.toString(r));
		}
		fullTable.add(stringResults);
	}