 __global__ void kernel_updateFiring()
 {
 	// CHECK !!!
-	int maxDelay_ = gpuNetInfo.maxDelay;
+	int maxDelay_ = networkConfigGPU.maxDelay;
 	// reset the firing table so that we have the firing information
 	// for the last maxDelay_ time steps to be used for the next cycle of the simulation
 	if(blockIdx.x==0) {

						if (type & TARGET_GABAa)
							GABAa_sum += change*d_mulSynFast[connId];	// wt should be negative for GABAa and GABAb
						if (type & TARGET_GABAb) {						// but that is dealt with below
							if (gpuNetInfo.sim_with_GABAb_rise) {
								GABAb_r_sum += change*d_mulSynSlow[connId]*gpuNetInfo.sGABAb;
								GABAb_d_sum += change*d_mulSynSlow[connId]*gpuNetInfo.sGABAb;
							} else {
								GABAb_sum += change*d_mulSynSlow[connId];
							}

			float GABAb_sum		 = 0.0f;
			float GABAb_r_sum 	 = 0.0f;
			float GABAb_d_sum 	 = 0.0f;
			int   lmt      		 = runtimeDataGPU.Npre[post_nid];
			unsigned int cum_pos = runtimeDataGPU.cumulativePre[post_nid];

			// find the total current to this neuron...
			for(int j=0; (lmt)&&(j <= ((lmt-1)>>LOG_CURRENT_GROUP)); j++) {
				// because of malloc2D operation we are using pitch, post_nid, j to get
				// actual position of the input current....
				// int* tmp_I_set_p = ((int*)((char*)runtimeDataGPU.I_set + j * networkConfigGPU.I_setPitch) + post_nid);
				uint32_t* tmp_I_set_p  = getFiringBitGroupPtr(post_nid, j);

				uint32_t  tmp_I_set     = *tmp_I_set_p;
