public Input getNodeAt(int x, int y) {

		for (Input node : inputs) {
			if (node.containsPoint(x, y)) {
				return node;
			}
		}

		for (Neuron[] layer : hiddenNeurons) {
			for (Input node : layer) {
				if (node.containsPoint(x, y)) {
					return node;
				}
			}
		}

		for (Input node : outputs) {
			if (node.containsPoint(x, y)) {
				return node;
			}
		}

		for (Input bias : biases) {
			if (bias.containsPoint(x, y)) {
				return bias;
			}
		}

		return null;
	}