public double[] observe(int a) { // take every array in observed structure
										// and concatinate it end to end
		int count = 0;
		double[][][] s = observeStructure(a);

		for (int i = 0; i < rView; i++) {
			for (int j = 0; j < cView; j++) {
				if (s[i][j] != null) {
					count += s[i][j].length;
				}

			}
		}
		double[] state = new double[count];
		int c = 0;
		for (int i = 0; i < rView; i++) {
			for (int j = 0; j < cView; j++) {
				if (s[i][j] != null) {
					for (int k = 0; k < s[i][j].length; k++) {
						state[c++] = s[i][j][k];
					}
				}

			}
		}
		return state;
	}