diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 5e86d59378331fe0795d57aea2c2c0750ad69c1f..c1507de61ba160934df62dd4c6f2ade2fae857bb 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -664,7 +664,7 @@ add_boolean_option(ENABLE_NEW_MULTICAST    False "specific to oaisim")
 add_boolean_option(EXMIMO_IOT              True "????")
 add_boolean_option(LARGE_SCALE             False "specific to oaisim: defines max eNB=2 and max UE=120")
 add_boolean_option(LOCALIZATION            False "???")
-add_integer_option(MAX_NUM_CCs             1     "????")
+add_integer_option(MAX_NUM_CCs             2     "????")
 add_boolean_option(MU_RECEIVER             False "????")
 add_boolean_option(NEW_FFT                 True "????")
 add_boolean_option(OPENAIR1                True "????")
diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
index 1176450ddba90ecb6f6c13b7a373e30b447da804..1bf2f4b2d0873733bf22c83fa86a0c67951e950d 100755
--- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
@@ -222,10 +222,14 @@ void recv_IF4p5(PHY_VARS_eNB *eNB, int *frame, int *subframe, uint16_t *packet_t
     data_block = (uint16_t*) (rx_buffer+sizeof_IF4p5_header_t);
   }
 
+
+  
   *frame = ((packet_header->frame_status)>>6)&0xffff;
   *subframe = ((packet_header->frame_status)>>22)&0x000f;
+
   *packet_type = packet_header->sub_type; 
 
+  printf("CC_id %d : frame %d, subframe %d\n",eNB->CC_id,*frame,*subframe);
 
   if (*packet_type == IF4p5_PDLFFT) {          
     *symbol_number = ((packet_header->frame_status)>>26)&0x000f;         
diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
index 45778849b2ca8c8e248524bfb414cb0d7792c63f..e770c61935db6dd4c61ca83a08707e0b8bb911b2 100644
--- a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
@@ -140,7 +140,6 @@ int trx_eth_request(openair0_device *device, void *msg, ssize_t msg_len) {
     perror("ETHERNET: ");
     exit(0);
   }
-  
   return 0;
 }
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5.conf
index 5fc097f0dfb2ed4603171266f7806adb74c92165..7890736e5ea56c78eef25a670284b83755909c6a 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.if4p5.conf
@@ -36,6 +36,7 @@ eNBs =
       Nid_cell					      = 0;
       N_RB_DL                 			      = 50;
       Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports				      = 1;	
       nb_antennas_tx          			      = 1;
       nb_antennas_rx          			      = 1;
       tx_gain                                            = 90;
@@ -67,7 +68,7 @@ eNBs =
       srs_ackNackST                                      =;
       srs_MaxUpPts                                       =;*/
 
-      pusch_p0_Nominal                                   = -102;
+      pusch_p0_Nominal                                   = -96;
       pusch_alpha                                        = "AL1";
       pucch_p0_Nominal                                   = -104;
       msg3_delta_Preamble                                = 6;
@@ -100,6 +101,7 @@ eNBs =
       ue_TimersAndConstants_t311			      = 10000;
       ue_TimersAndConstants_n310			      = 20;
       ue_TimersAndConstants_n311			      = 1;
+      ue_TransmissionMode	   			      = 1;
 
       }
     );
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index fd5d38f6962f317a31fc9e413f4ab2bf1268cb99..25b816f4f1a5f296d497fa2a194a7c41d8cdb77d 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -981,11 +981,11 @@ void rx_fh_if4p5(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
  
   if (proc->first_rx == 0) {
     if (proc->subframe_rx != *subframe){
-      LOG_E(PHY,"Received Timestamp doesn't correspond to the time we think it is (proc->subframe_rx %d, subframe %d)\n",proc->subframe_rx,*subframe);
+      LOG_E(PHY,"Received Timestamp (IF4p5) doesn't correspond to the time we think it is (proc->subframe_rx %d, subframe %d,CCid %d)\n",proc->subframe_rx,*subframe,eNB->CC_id);
       exit_fun("Exiting");
     }
     if (proc->frame_rx != *frame) {
-      LOG_E(PHY,"Received Timestamp doesn't correspond to the time we think it is (proc->frame_rx %d frame %d)\n",proc->frame_rx,*frame);
+      LOG_E(PHY,"Received Timestamp (IF4p5) doesn't correspond to the time we think it is (proc->frame_rx %d frame %d,CCid %d)\n",proc->frame_rx,*frame,eNB->CC_id);
       exit_fun("Exiting");
     }
   } else {
@@ -1276,7 +1276,8 @@ static void* eNB_thread_single( void* param ) {
       subframe++;
     }      
 
-    LOG_D(PHY,"eNB Fronthaul thread, frame %d, subframe %d\n",frame,subframe);
+    LOG_D(PHY,"eNB thread single %p (proc %p, CC_id %d), frame %d (%p), subframe %d (%p)\n",
+	  pthread_self(), proc, eNB->CC_id, frame,&frame,subframe,&subframe);
  
     // synchronization on FH interface, acquire signals/data and block
     if (eNB->rx_fh) eNB->rx_fh(eNB,&frame,&subframe);
@@ -1400,6 +1401,7 @@ void init_eNB_proc(int inst) {
   }
 
   //for multiple CCs: setup master and slaves
+  /*
   for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
     eNB = PHY_vars_eNB_g[inst][CC_id];
 
@@ -1412,7 +1414,7 @@ void init_eNB_proc(int inst) {
         if (i >= CC_id)  eNB->proc.slave_proc[i] = &(PHY_vars_eNB_g[inst][i+1]->proc);
       }
     }
-  }
+    }*/
 
 
   /* setup PHY proc TX sync mechanism */
@@ -1614,6 +1616,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
       eNB->node_timing        = node_timing[CC_id];
       eNB->abstraction_flag   = 0;
       eNB->single_thread_flag = single_thread_flag;
+      eNB->iframe_offset      = -1;
+      eNB->isubframe_offset   = -1;
       LOG_I(PHY,"Initializing eNB %d CC_id %d : (%s,%s)\n",inst,CC_id,eNB_functions[node_function[CC_id]],eNB_timing[node_timing[CC_id]]);
 
       switch (node_function[CC_id]) {
diff --git a/targets/RT/USER/rcc_if4.gtkw b/targets/RT/USER/rcc_if4.gtkw
new file mode 100644
index 0000000000000000000000000000000000000000..e099e466c1ae44ebebf7367843c80097732c9194
--- /dev/null
+++ b/targets/RT/USER/rcc_if4.gtkw
@@ -0,0 +1,161 @@
+[*]
+[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
+[*] Sat Aug  6 15:00:27 2016
+[*]
+[dumpfile] "/tmp/openair_dump_eNB.vcd"
+[dumpfile_mtime] "Sat Aug  6 14:59:21 2016"
+[dumpfile_size] 991809002
+[savefile] "/home/fourmi/openairinterface5g/targets/RT/USER/rcc_if4.gtkw"
+[timestart] 0
+[size] 1301 716
+[pos] 309 0
+*-19.793451 7382528436 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+[sst_width] 284
+[signals_width] 262
+[sst_expanded] 1
+[sst_vpaned_height] 294
+@24
+variables.trx_ts[63:0]
+variables.trx_tst[63:0]
+@28
+functions.recv_if4
+functions.send_if4
+functions.eNB_thread_rxtx0
+@24
+variables.frame_number_RX0_eNB[63:0]
+variables.subframe_number_RX0_eNB[63:0]
+variables.frame_number_TX0_eNB[63:0]
+variables.subframe_number_TX0_eNB[63:0]
+@28
+functions.phy_procedures_eNb_tx0
+functions.phy_procedures_eNb_rx_common0
+functions.phy_procedures_eNb_rx_uespec0
+functions.eNB_thread_rxtx1
+@24
+variables.frame_number_RX1_eNB[63:0]
+variables.subframe_number_RX1_eNB[63:0]
+variables.frame_number_TX1_eNB[63:0]
+variables.subframe_number_TX1_eNB[63:0]
+@29
+functions.phy_procedures_eNb_tx1
+@28
+functions.phy_procedures_eNb_rx_common1
+functions.phy_procedures_eNb_rx_uespec1
+functions.phy_enb_sfgen
+functions.phy_eNB_slot_fep
+functions.phy_enb_prach_rx
+@24
+variables.dci_info[63:0]
+variables.ue0_BO[63:0]
+@420
+variables.ue0_BSR[63:0]
+variables.ue0_timing_advance[63:0]
+@28
+functions.macxface_initiate_ra_proc
+functions.macxface_terminate_ra_proc
+functions.phy_enb_ulsch_msg3
+functions.macxface_SR_indication
+@420
+variables.ue0_SR_ENERGY[63:0]
+variables.ue0_SR_THRES[63:0]
+@28
+functions.phy_enb_ulsch_decoding0
+@24
+variables.ue0_res0[63:0]
+@420
+variables.ue0_rssi0[63:0]
+variables.ue0_MCS0[63:0]
+variables.ue0_RB0[63:0]
+@24
+variables.ue0_ROUND0[63:0]
+variables.ue0_SFN0[63:0]
+@28
+functions.phy_enb_ulsch_decoding1
+@24
+variables.ue0_res1[63:0]
+@420
+variables.ue0_rssi1[63:0]
+variables.ue0_MCS1[63:0]
+variables.ue0_RB1[63:0]
+@24
+variables.ue0_ROUND1[63:0]
+variables.ue0_SFN1[63:0]
+@28
+functions.phy_enb_ulsch_decoding2
+@24
+variables.ue0_res2[63:0]
+@420
+variables.ue0_rssi2[63:0]
+variables.ue0_MCS2[63:0]
+variables.ue0_RB2[63:0]
+@24
+variables.ue0_ROUND2[63:0]
+variables.ue0_SFN2[63:0]
+@28
+functions.phy_enb_ulsch_decoding3
+@24
+variables.ue0_res3[63:0]
+@420
+variables.ue0_rssi3[63:0]
+variables.ue0_MCS3[63:0]
+variables.ue0_RB3[63:0]
+@24
+variables.ue0_ROUND3[63:0]
+variables.ue0_SFN3[63:0]
+@28
+functions.phy_enb_ulsch_decoding4
+@420
+variables.ue0_rssi4[63:0]
+@24
+variables.ue0_res4[63:0]
+@420
+variables.ue0_MCS4[63:0]
+variables.ue0_RB4[63:0]
+@24
+variables.ue0_ROUND4[63:0]
+variables.ue0_SFN4[63:0]
+@28
+functions.phy_enb_ulsch_decoding5
+@24
+variables.ue0_res5[63:0]
+@420
+variables.ue0_rssi5[63:0]
+variables.ue0_MCS5[63:0]
+variables.ue0_RB5[63:0]
+@24
+variables.ue0_ROUND5[63:0]
+variables.ue0_SFN5[63:0]
+@28
+functions.phy_enb_ulsch_decoding6
+@24
+variables.ue0_res6[63:0]
+@420
+variables.ue0_rssi6[63:0]
+variables.ue0_MCS6[63:0]
+variables.ue0_RB6[63:0]
+@24
+variables.ue0_ROUND6[63:0]
+variables.ue0_SFN6[63:0]
+@28
+functions.phy_enb_ulsch_decoding7
+@24
+variables.ue0_res7[63:0]
+@420
+variables.ue0_rssi7[63:0]
+variables.ue0_MCS7[63:0]
+variables.ue0_RB7[63:0]
+@24
+variables.ue0_ROUND7[63:0]
+variables.ue0_SFN7[63:0]
+@28
+functions.phy_enb_prach_rx
+functions.phy_eNB_dlsch_encoding
+functions.phy_eNB_dlsch_modulation
+functions.phy_eNB_dlsch_scrambling
+functions.phy_enb_pdcch_tx
+functions.phy_enb_rs_tx
+functions.rrc_mac_config_req
+functions.rlc_data_req
+functions.udp_enb_task
+[pattern_trace] 1
+[pattern_trace] 0
diff --git a/targets/RT/USER/rcc_if5.gtkw b/targets/RT/USER/rcc_if5.gtkw
new file mode 100644
index 0000000000000000000000000000000000000000..d64a9ca0fb2e0352c5f9f7a584ad2225cd140249
--- /dev/null
+++ b/targets/RT/USER/rcc_if5.gtkw
@@ -0,0 +1,154 @@
+[*]
+[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
+[*] Sun Jul 31 13:30:42 2016
+[*]
+[dumpfile] "/tmp/openair_dump_eNB.vcd"
+[dumpfile_mtime] "Sun Jul 31 13:21:59 2016"
+[dumpfile_size] 18273240
+[savefile] "/home/fourmi/openairinterface5g/targets/RT/USER/rcc_if5.gtkw"
+[timestart] 24070893000
+[size] 1301 716
+[pos] 309 0
+*-19.793451 29026062100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+[sst_width] 284
+[signals_width] 262
+[sst_expanded] 1
+[sst_vpaned_height] 294
+@24
+variables.trx_ts[63:0]
+variables.trx_tst[63:0]
+@28
+functions.send_if5
+functions.recv_if5
+functions.eNB_thread_rxtx0
+@24
+variables.frame_number_RX0_eNB[63:0]
+variables.subframe_number_RX0_eNB[63:0]
+variables.frame_number_TX0_eNB[63:0]
+variables.subframe_number_TX0_eNB[63:0]
+@28
+functions.eNB_thread_rxtx1
+@24
+variables.frame_number_RX1_eNB[63:0]
+variables.subframe_number_RX1_eNB[63:0]
+variables.frame_number_TX1_eNB[63:0]
+variables.subframe_number_TX1_eNB[63:0]
+@28
+functions.phy_enb_sfgen
+functions.phy_eNB_slot_fep
+functions.phy_enb_prach_rx
+@24
+variables.dci_info[63:0]
+variables.ue0_BO[63:0]
+@420
+variables.ue0_BSR[63:0]
+variables.ue0_timing_advance[63:0]
+@28
+functions.macxface_initiate_ra_proc
+functions.macxface_terminate_ra_proc
+functions.phy_enb_ulsch_msg3
+functions.macxface_SR_indication
+@420
+variables.ue0_SR_ENERGY[63:0]
+variables.ue0_SR_THRES[63:0]
+@28
+functions.phy_enb_ulsch_decoding0
+@24
+variables.ue0_res0[63:0]
+@420
+variables.ue0_rssi0[63:0]
+variables.ue0_MCS0[63:0]
+variables.ue0_RB0[63:0]
+@24
+variables.ue0_ROUND0[63:0]
+variables.ue0_SFN0[63:0]
+@28
+functions.phy_enb_ulsch_decoding1
+@24
+variables.ue0_res1[63:0]
+@420
+variables.ue0_rssi1[63:0]
+variables.ue0_MCS1[63:0]
+variables.ue0_RB1[63:0]
+@24
+variables.ue0_ROUND1[63:0]
+variables.ue0_SFN1[63:0]
+@28
+functions.phy_enb_ulsch_decoding2
+@24
+variables.ue0_res2[63:0]
+@420
+variables.ue0_rssi2[63:0]
+variables.ue0_MCS2[63:0]
+variables.ue0_RB2[63:0]
+@24
+variables.ue0_ROUND2[63:0]
+variables.ue0_SFN2[63:0]
+@28
+functions.phy_enb_ulsch_decoding3
+@24
+variables.ue0_res3[63:0]
+@420
+variables.ue0_rssi3[63:0]
+variables.ue0_MCS3[63:0]
+variables.ue0_RB3[63:0]
+@24
+variables.ue0_ROUND3[63:0]
+variables.ue0_SFN3[63:0]
+@28
+functions.phy_enb_ulsch_decoding4
+@420
+variables.ue0_rssi4[63:0]
+@24
+variables.ue0_res4[63:0]
+@420
+variables.ue0_MCS4[63:0]
+variables.ue0_RB4[63:0]
+@24
+variables.ue0_ROUND4[63:0]
+variables.ue0_SFN4[63:0]
+@28
+functions.phy_enb_ulsch_decoding5
+@24
+variables.ue0_res5[63:0]
+@420
+variables.ue0_rssi5[63:0]
+variables.ue0_MCS5[63:0]
+variables.ue0_RB5[63:0]
+@24
+variables.ue0_ROUND5[63:0]
+variables.ue0_SFN5[63:0]
+@28
+functions.phy_enb_ulsch_decoding6
+@24
+variables.ue0_res6[63:0]
+@420
+variables.ue0_rssi6[63:0]
+variables.ue0_MCS6[63:0]
+variables.ue0_RB6[63:0]
+@24
+variables.ue0_ROUND6[63:0]
+variables.ue0_SFN6[63:0]
+@28
+functions.phy_enb_ulsch_decoding7
+@24
+variables.ue0_res7[63:0]
+@420
+variables.ue0_rssi7[63:0]
+variables.ue0_MCS7[63:0]
+variables.ue0_RB7[63:0]
+@24
+variables.ue0_ROUND7[63:0]
+variables.ue0_SFN7[63:0]
+@28
+functions.phy_enb_prach_rx
+functions.phy_eNB_dlsch_encoding
+functions.phy_eNB_dlsch_modulation
+functions.phy_eNB_dlsch_scrambling
+functions.phy_enb_pdcch_tx
+functions.phy_enb_rs_tx
+functions.rrc_mac_config_req
+functions.rlc_data_req
+functions.udp_enb_task
+[pattern_trace] 1
+[pattern_trace] 0