diff --git a/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.c b/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.c
index e67b93926977b442883c608e35ed37aa407e8486..b693b4ca6df0463c70a71e5ba73b463e15eb45a4 100755
--- a/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.c
@@ -52,8 +52,8 @@
 // BCOM code functions npdcch start
 // (TODO solve some error in compilation)
 //------------------------------------------------
-static uint8_t d[2][3*(MAX_DCI_SIZE_BITS_NB_IOT + 16) + 96];
-static uint8_t w[2][3*3*(MAX_DCI_SIZE_BITS_NB_IOT+16)];
+static uint8_t d[2][3*(MAX_DCI_SIZE_BITS_NB_IoT + 16) + 96];
+static uint8_t w[2][3*3*(MAX_DCI_SIZE_BITS_NB_IoT+16)];
 
 
 
diff --git a/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h b/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h
index fb479d9f3fd64a0706c5b6db648376b68d002a17..1fe4aa69c7a5d8122dd4b4adc2d60d52fcd25074 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h
+++ b/openair1/PHY/LTE_TRANSPORT/dci_NB_IoT.h
@@ -287,6 +287,6 @@ typedef struct DCIN2_Pag DCIN2_Pag_t;
 
 #define sizeof_DCIN2_Pag_t 15
 
-#define MAX_DCI_SIZE_BITS_NB_IOT 23
+#define MAX_DCI_SIZE_BITS_NB_IoT 23
 
 #endif
diff --git a/openair2/LAYER2/MAC/defs_NB_IoT.h b/openair2/LAYER2/MAC/defs_NB_IoT.h
index 04085ae06c78c435c014c8a28e3701aca4c4e52d..5e6fb6c5924077e757b2669bd381047084e749e1 100644
--- a/openair2/LAYER2/MAC/defs_NB_IoT.h
+++ b/openair2/LAYER2/MAC/defs_NB_IoT.h
@@ -56,6 +56,7 @@
  * @ingroup _oai2
  * @{
  */
+#define SCH_PAYLOAD_SIZE_MAX_NB_IoT 4096
 
 #define CCCH_PAYLOAD_SIZE_MAX_NB_IoT 128
 /*!\brief Maximum number of random access process */
@@ -67,7 +68,7 @@
 
 /*! \brief Downlink SCH PDU Structure */
 typedef struct {
-  int8_t payload[8][SCH_PAYLOAD_SIZE_MAX];
+  int8_t payload[8][SCH_PAYLOAD_SIZE_MAX_NB_IoT];
   uint16_t Pdu_size[8];
 } __attribute__ ((__packed__)) DLSCH_PDU_NB_IoT;
 /*! \brief eNB template for UE context information  */
@@ -95,7 +96,7 @@ typedef struct {
   /* rounded to 32 bits unit (actual value should be 8 due to the logic
    * of the function generate_dci0) */
   // need to modify
-  uint8_t DLSCH_DCI[8][(((MAX_DCI_SIZE_BITS)+31)>>5)*4];
+  uint8_t DLSCH_DCI[8][(((MAX_DCI_SIZE_BITS_NB_IoT)+31)>>5)*4];
   /// pre-assigned MCS by the ulsch preprocessorerror
   uint8_t pre_assigned_mcs_ul;
   /// assigned MCS by the ulsch scheduler
@@ -104,7 +105,7 @@ typedef struct {
   /* rounded to 32 bits unit (actual value should be 8 due to the logic
    * of the function generate_dci0) */
   // need to modify
-  uint8_t ULSCH_DCI[8][(((MAX_DCI_SIZE_BITS)+31)>>5)*4];
+  uint8_t ULSCH_DCI[8][(((MAX_DCI_SIZE_BITS_NB_IoT)+31)>>5)*4];
   // Logical channel info for link with RLC
   /// Last received UE BSR info for each logical channel group id
   uint8_t bsr_info[MAX_NUM_LCGID_NB_IoT];
@@ -251,7 +252,7 @@ typedef struct {
   uint32_t total_num_pdus_rx;
   /// num of error pdus
   uint32_t total_num_errors_rx;
-} eNB_UE_STATS_NB;
+} eNB_UE_STATS_NB_IoT;
 /*! \brief scheduling control information set through an API (not used)*/
 typedef struct {
   ///UL transmission bandwidth in RBs
@@ -288,28 +289,28 @@ typedef struct {
   int32_t       ra_pdcch_order_sent;
   int32_t       ul_out_of_sync;
   int32_t       phr_received;// received from Msg3 MAC Control Element
-} UE_sched_ctrl_NB;
+} UE_sched_ctrl_NB_IoT;
 
 /*! \brief UE list used by eNB to order UEs/CC for scheduling*/
 typedef struct {
   /// DLSCH pdu
-  DLSCH_PDU_NB_IoT DLSCH_pdu[MAX_NUM_CCs][2][NUMBER_OF_UE_MAX];
+  DLSCH_PDU_NB_IoT DLSCH_pdu[MAX_NUM_CCs][2][NUMBER_OF_UE_MAX_NB_IoT];
   /// DCI template and MAC connection parameters for UEs
-  UE_TEMPLATE_NB_IoT UE_template[MAX_NUM_CCs][NUMBER_OF_UE_MAX];
+  UE_TEMPLATE_NB_IoT UE_template[MAX_NUM_CCs][NUMBER_OF_UE_MAX_NB_IoT];
   /// DCI template and MAC connection for RA processes
-  int pCC_id[NUMBER_OF_UE_MAX];
+  int pCC_id[NUMBER_OF_UE_MAX_NB_IoT];
   /// eNB to UE statistics
-  eNB_UE_STATS_NB eNB_UE_stats[MAX_NUM_CCs][NUMBER_OF_UE_MAX];
+  eNB_UE_STATS_NB_IoT eNB_UE_stats[MAX_NUM_CCs][NUMBER_OF_UE_MAX_NB_IoT];
   /// scheduling control info
-  UE_sched_ctrl_NB UE_sched_ctrl[NUMBER_OF_UE_MAX];
-  int next[NUMBER_OF_UE_MAX];
+  UE_sched_ctrl_NB_IoT UE_sched_ctrl[NUMBER_OF_UE_MAX_NB_IoT];
+  int next[NUMBER_OF_UE_MAX_NB_IoT];
   int head;
-  int next_ul[NUMBER_OF_UE_MAX];
+  int next_ul[NUMBER_OF_UE_MAX_NB_IoT];
   int head_ul;
   int avail;
   int num_UEs;
-  boolean_t active[NUMBER_OF_UE_MAX];
-} UE_list_NB_t;
+  boolean_t active[NUMBER_OF_UE_MAX_NB_IoT];
+} UE_list_NB_IoT_t;
 
 /*!\brief Values of BCCH0 logical channel for MIB*/
 #define BCCH0_NB 11 // MIB-NB
@@ -414,7 +415,7 @@ typedef struct {
   /// Size of DCI for RA-Response (bits)
   uint8_t RA_dci_size_bits1;
   /// Actual DCI to transmit for RA-Response
-  uint8_t RA_alloc_pdu1[(MAX_DCI_SIZE_BITS>>3)+1];
+  uint8_t RA_alloc_pdu1[(MAX_DCI_SIZE_BITS_NB_IoT>>3)+1];
   /// DCI format for RA-Response (should be N1 RAR)
   uint8_t RA_dci_fmt1;
   /// Size of DCI for Msg4/ContRes (bytes)
@@ -422,7 +423,7 @@ typedef struct {
   /// Size of DCI for Msg4/ContRes (bits)
   uint8_t RA_dci_size_bits2;
   /// Actual DCI to transmit for Msg4/ContRes
-  uint8_t RA_alloc_pdu2[(MAX_DCI_SIZE_BITS>>3)+1];
+  uint8_t RA_alloc_pdu2[(MAX_DCI_SIZE_BITS_NB_IoT>>3)+1];
   /// DCI format for Msg4/ContRes (should be 1A)
   uint8_t RA_dci_fmt2;
   /// Flag to indicate the eNB should generate RAR.  This is triggered by detection of PRACH
@@ -560,7 +561,7 @@ typedef struct {
   sub_frame_t subframe;
   /// Common cell resources
   COMMON_channels_NB_t common_channels[MAX_NUM_CCs];
-  UE_list_NB_t UE_list;
+  UE_list_NB_IoT_t UE_list;
   ///Delete subband bitmap configuration, no related CQI report
   // / Modify CCE table used to build DCI scheduling information
   int CCE_table[MAX_NUM_CCs][12];//180 khz for Anchor carrier
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives_NB_IoT.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives_NB_IoT.c
index 62c62e9587ff635f74cf0a8bc8a198ab1d4f7591..1c64897aa2d6da39ee7e2d70f4d2f0154ad0d553 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives_NB_IoT.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives_NB_IoT.c
@@ -70,7 +70,7 @@ int NB_rrc_mac_remove_ue(
 		rnti_t rntiP)
 {
   int i;
-  UE_list_NB_t *UE_list = &eNB_mac_inst_NB[mod_idP].UE_list;
+  UE_list_NB_IoT_t *UE_list = &eNB_mac_inst_NB[mod_idP].UE_list;
   int UE_id = find_UE_id(mod_idP,rntiP); //may should be changed
   int pCC_id;
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
index 467523585a66da542132eb1b56f35fdb557b59a9..b33210a4184a33397b87a5544f0f1a500d27817c 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
@@ -84,7 +84,7 @@ void NB_rx_sdu(const module_id_t enb_mod_idP,
   int    UE_id = find_UE_id(enb_mod_idP,rntiP);
   int ii,j;
   eNB_MAC_INST_NB *eNB = &eNB_mac_inst_NB[enb_mod_idP];
-  UE_list_NB_t *UE_list= &eNB->UE_list;
+  UE_list_NB_IoT_t *UE_list= &eNB->UE_list;
   int crnti_rx=0;
   //int old_buffer_info;
 
diff --git a/openair2/LAYER2/MAC/main_NB_IoT.c b/openair2/LAYER2/MAC/main_NB_IoT.c
index 762387ba6b8825d2ff4e7c00b9cc18f5b6cd294e..85f105763fe046fce2c2f1dbec33660e84e8e634 100644
--- a/openair2/LAYER2/MAC/main_NB_IoT.c
+++ b/openair2/LAYER2/MAC/main_NB_IoT.c
@@ -92,7 +92,7 @@ int mac_top_init_NB()
   int size_bytes1,size_bytes2,size_bits1,size_bits2;
   int CC_id;
   int list_el;
-  UE_list_NB_t *UE_list; //XXX to review if elements are correct
+  UE_list_NB_IoT_t *UE_list; //XXX to review if elements are correct
 
   // delete the part to init the UE_INST
 
@@ -124,7 +124,7 @@ int mac_top_init_NB()
     UE_list->head_ul=-1;
     UE_list->avail=0;
 
-    for (list_el=0; list_el<NUMBER_OF_UE_MAX-1; list_el++) {
+    for (list_el=0; list_el<NUMBER_OF_UE_MAX_NB_IoT-1; list_el++) {
       UE_list->next[list_el]=list_el+1;
       UE_list->next_ul[list_el]=list_el+1;
     }
@@ -176,7 +176,7 @@ int mac_top_init_NB()
       for (j=0; j<NUMBER_OF_UE_MAX; j++) {
         UE_template[j].rnti=0;
         // initiallize the eNB to UE statistics
-        memset (&eNB_mac_inst_NB[i].UE_list.eNB_UE_stats[CC_id][j],0,sizeof(eNB_UE_STATS_NB));
+        memset (&eNB_mac_inst_NB[i].UE_list.eNB_UE_stats[CC_id][j],0,sizeof(eNB_UE_STATS_NB_IoT));
       }
     }
 
diff --git a/openair2/RRC/LITE/L2_interface_NB_IoT.c b/openair2/RRC/LITE/L2_interface_NB_IoT.c
index e86c0b0e5c53e5fbcd8e594ec32a820dab569b37..592ca7c5442bdad158af86f2649a6a6d2e2738af 100644
--- a/openair2/RRC/LITE/L2_interface_NB_IoT.c
+++ b/openair2/RRC/LITE/L2_interface_NB_IoT.c
@@ -587,7 +587,7 @@ int NB_rrc_mac_config_req_eNB(
 
 
   int UE_id = -1;
-  //UE_list_NB_t *UE_list= &eNB_mac_inst_NB->UE_list;
+  //UE_list_NB_IoT_t *UE_list= &eNB_mac_inst_NB->UE_list;
   UE_id = find_UE_id(Mod_idP, rntiP);
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_MAC_CONFIG, VCD_FUNCTION_IN);
@@ -1353,7 +1353,7 @@ void NB_mac_eNB_rrc_ul_failure(
 
 
 //defined in eNB_scheduler_primitives.c
-void dump_ue_list_NB(UE_list_NB_t *listP, int ul_flag)
+void dump_ue_list_NB(UE_list_NB_IoT_t *listP, int ul_flag)
 {
   int j;
 
@@ -1376,7 +1376,7 @@ int NB_rrc_mac_remove_ue(
 		rnti_t rntiP)
 {
   int i;
-  UE_list_NB_t *UE_list = &eNB_mac_inst_NB[mod_idP].UE_list;
+  UE_list_NB_IoT_t *UE_list = &eNB_mac_inst_NB[mod_idP].UE_list;
   int UE_id = find_UE_id(mod_idP,rntiP); //may should be changed
   int pCC_id;
 
diff --git a/openair2/RRC/LITE/proto_NB_IoT.h b/openair2/RRC/LITE/proto_NB_IoT.h
index 7d7f11cd83a443c6bef3a9d087966639e14df6bd..fb1cc1962eacaecadafba0fa78a6d30091c6f7c6 100644
--- a/openair2/RRC/LITE/proto_NB_IoT.h
+++ b/openair2/RRC/LITE/proto_NB_IoT.h
@@ -169,7 +169,7 @@ int8_t NB_mac_rrc_data_ind_eNB(
 //-------------------------------------------
 
 //defined in L2_interface
-void dump_ue_list_NB(UE_list_NB_t *listP, int ul_flag);
+void dump_ue_list_NB(UE_list_NB_IoT_t *listP, int ul_flag);
 //-------------------------------------------