diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 3b46a6328d2ef45e5afea1a797565e9cf715e0d4..c7fc4118ca56ea747c12792688f70e12974ed745 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -977,7 +977,7 @@ void add_ue_spec_dci(DCI_PDU *DCI_pdu,void *pdu,u16 rnti,unsigned char dci_size_
 void schedule_SI(unsigned char Mod_id,u32 frame, unsigned char *nprb,unsigned int *nCCE) {
 
   unsigned char bcch_sdu_length;
-  int mcs;
+  int mcs = -1;
   void *BCCH_alloc_pdu=(void*)&eNB_mac_inst[Mod_id].BCCH_alloc_pdu;
 
   bcch_sdu_length = mac_rrc_data_req(Mod_id,
@@ -1103,7 +1103,7 @@ int schedule_MBMS(unsigned char Mod_id,u32 frame, u8 subframe) {
   unsigned char mcch_sdu_length;
   unsigned char header_len_mcch=0,header_len_msi=0,header_len_mtch=0, header_len_mtch_temp=0, header_len_mcch_temp=0, header_len_msi_temp=0; 
   int ii=0, msi_pos=0;
-  int mcch_mcs;
+  int mcch_mcs = -1;
   u16 TBS,j,padding=0,post_padding=0;
   mac_rlc_status_resp_t rlc_status;
   int num_mtch;
@@ -1575,7 +1575,8 @@ void schedule_RA(unsigned char Mod_id,u32 frame, unsigned char subframe,unsigned
   u16 rrc_sdu_length;
   unsigned char lcid,offset;
   s8 UE_id;
-  unsigned short TBsize,msg4_padding,msg4_post_padding,msg4_header;
+  unsigned short TBsize = -1;
+  unsigned short msg4_padding,msg4_post_padding,msg4_header;
 
   for (i=0;i<NB_RA_PROC_MAX;i++) {
 
diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c
index 89bbd0d1b14389fcd33c2ab3f6c57b69a837f37a..59e42c4ea491045b4fac728e97e3c9199f707c3b 100644
--- a/openair2/LAYER2/MAC/rar_tools.c
+++ b/openair2/LAYER2/MAC/rar_tools.c
@@ -65,9 +65,11 @@ unsigned short fill_rar(u8 Mod_id,
   RA_HEADER_RAPID *rarh = (RA_HEADER_RAPID *)dlsch_buffer;
   //  RAR_PDU *rar = (RAR_PDU *)(dlsch_buffer+1);
   uint8_t *rar = (uint8_t *)(dlsch_buffer+1);
-  int i,ra_idx;
+  int i;
+  int ra_idx = -1;
   uint16_t rballoc;
-  uint8_t mcs,TPC,cqi_req,ULdelay,cqireq;
+  uint8_t mcs,TPC,ULdelay,cqireq;
+  //uint8_t cqi_req;
 
   for (i=0;i<NB_RA_PROC_MAX;i++) {
     if (eNB_mac_inst[Mod_id].RA_template[i].generate_rar == 1) {
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index 7f1d6df33516d73d3c3cdedba0ac58c3d74f2951..253ef4ce63f254bce9a76cfd66e69958e8bde369 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -546,11 +546,11 @@ s8 ue_get_mbsfn_sf_alloction (unsigned char Mod_id, u8 mbsfn_sync_area, unsigned
 
 int ue_query_mch(uint8_t Mod_id, uint32_t frame, uint32_t subframe, uint8_t eNB_index,uint8_t *sync_area, uint8_t *mcch_active) {
 
-  int i=0, j=0, ii=0, msi_pos=0, mcch_mcs;
+  int i=0, j=0, ii=0, msi_pos=0, mcch_mcs = - 1;
   int mcch_flag=0, mtch_flag=0, msi_flag=0;
   int mbsfn_period = 0;// 1<<(UE_mac_inst[Mod_id].mbsfn_SubframeConfig[0]->radioframeAllocationPeriod);
   int mcch_period = 0;// 32<<(UE_mac_inst[Mod_id].mbsfn_AreaInfo[0]->mcch_Config_r9.mcch_RepetitionPeriod_r9);
-  int mch_scheduling_period; 
+  int mch_scheduling_period = -1;
 
   if (UE_mac_inst[Mod_id].pmch_Config[0])
     mch_scheduling_period = 8<<(UE_mac_inst[Mod_id].pmch_Config[0]->mch_SchedulingPeriod_r9);
@@ -1270,8 +1270,8 @@ UE_L2_STATE_t ue_scheduler(u8 Mod_id,u32 frame, u8 subframe, lte_subframe_t dire
 
   int lcid; // lcid index
   int TTI= 1;
-  int bucketsizeduration;
-  int bucketsizeduration_max;
+  int bucketsizeduration = -1;
+  int bucketsizeduration_max = -1;
   // mac_rlc_status_resp_t rlc_status[MAX_NUM_LCGID]; // 4
   // s8 lcg_id;
   struct RACH_ConfigCommon *rach_ConfigCommon = (struct RACH_ConfigCommon *)NULL;
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
index aa9fd3318c3d1859cca8db1abdd80208ce4deef0..a17ce73ac5f66e41d560394ad665c8bd41da87b8 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
@@ -642,7 +642,7 @@ rlc_um_receive_process_dar (rlc_um_entity_t *rlcP, u32_t frame, u8_t eNB_flag, m
     // -else:
     //      -place the received UMD PDU in the reception buffer.
 
-    signed int sn;
+    signed int sn = -1;
     signed int in_window;
 
     if (rlcP->rx_sn_length == 10) {
diff --git a/openair2/LAYER2/RLC/rlc.h b/openair2/LAYER2/RLC/rlc.h
index d373d576b1c7031659c1b5022311abd7a55b05eb..c89a74cca29faf9de5feb101a178baedf9c65257 100755
--- a/openair2/LAYER2/RLC/rlc.h
+++ b/openair2/LAYER2/RLC/rlc.h
@@ -174,7 +174,7 @@ typedef struct {
 #define  RLC_MAX_LC  ((max_val_DRB_Identity+1)* MAX_MOBILES_PER_RG)
 #endif
 
-protected_rlc(void            (*rlc_rrc_data_ind)  (module_id_t , u32_t, u8_t, rb_id_t , sdu_size_t , char* );)
+protected_rlc(void            (*rlc_rrc_data_ind)  (module_id_t , u32_t, u8_t, rb_id_t , sdu_size_t , u8_t* );)
 protected_rlc(void            (*rlc_rrc_data_conf) (module_id_t , rb_id_t , mui_t, rlc_tx_status_t );)
 
 /*! \struct  rlc_pointer_t
diff --git a/openair2/LAYER2/RLC/rlc_rrc.c b/openair2/LAYER2/RLC/rlc_rrc.c
index 432f64c0306b72393794969cad894e93f65f0f23..1ed18dc1579c82f8b53074abefb81829d208bde7 100644
--- a/openair2/LAYER2/RLC/rlc_rrc.c
+++ b/openair2/LAYER2/RLC/rlc_rrc.c
@@ -42,10 +42,9 @@ rlc_op_status_t rrc_rlc_config_asn1_req (module_id_t module_idP, u32_t frameP, u
   long int               cnt2            = 0;
   //  long int               mrb_id          = 0;
   long int               mbms_service_id = 0;
-  long int               mbms_session_id = 0;
+  // long int               mbms_session_id = 0;
   PMCH_Info_r9_t*        pmch_info_r9    = NULL;
   MBMS_SessionInfo_r9_t* mbms_session    = NULL;
-  DL_UM_RLC_t*           mbms_dl_UM_RLC  = NULL;
   rlc_op_status_t        rlc_status      = RLC_OP_STATUS_OK;
   DL_UM_RLC_t            dl_um_rlc;
 #endif
@@ -283,13 +282,14 @@ rlc_op_status_t rrc_rlc_config_asn1_req (module_id_t module_idP, u32_t frameP, u
           } else {
               lc_id = mbms_session->logicalChannelIdentity_r9 + (maxDRB + 3);
           }
-
 	  
+	  /*
 	  if (mbms_session->sessionId_r9 != NULL) {
 	    mbms_session_id = mbms_session->sessionId_r9->buf[0];
 	  } else {
 	    mbms_session_id = mbms_session->logicalChannelIdentity_r9;
 	  }
+	  */
 	  mbms_service_id = mbms_session->tmgi_r9.serviceId_r9.buf[2];// can use the pmch_index, here is the value 'cnt'
 	  rb_id = (mbms_service_id * maxSessionPerPMCH) + lc_id;
 	  
@@ -424,20 +424,20 @@ rlc_op_status_t rrc_rlc_add_rlc   (module_id_t module_idP, u32_t frameP, rb_id_t
 
     if ((chan_idP >= RLC_MAX_LC ) || (chan_idP < 1)) {
       LOG_E(RLC,"Got wrong channel id %d\n",chan_idP);
-      exit -1;
+      exit (-1);
       return RLC_OP_STATUS_BAD_PARAMETER;
     }
 
     if (rb_idP >= RLC_MAX_RB ) {
         LOG_E(RLC,"Got wrong radio bearer id %d\n",rb_idP);
-        exit -1;
+        exit (-1);
         return RLC_OP_STATUS_BAD_PARAMETER;
     }
 
     if (rlc[module_idP].m_lcid2rbid[chan_idP] != -1) { 
       LOG_E(RLC,"Error in RLC config channel ID already configured %d(module_id %d, state %d)\n",
 	    chan_idP, module_idP, rlc[module_idP].m_lcid2rbid[chan_idP]);
-      exit -1;
+      exit (-1);
       return RLC_OP_STATUS_BAD_PARAMETER;
     }
     for (index = 0; index < index_max; index++) {
diff --git a/openair2/PHY_INTERFACE/defs.h b/openair2/PHY_INTERFACE/defs.h
index c88cf7beee757e725856741bf3d5b90ae5eb9ba6..9c9e28b5d0a06352f96eacbbb3b0a1e434f57ed3 100755
--- a/openair2/PHY_INTERFACE/defs.h
+++ b/openair2/PHY_INTERFACE/defs.h
@@ -242,10 +242,10 @@ typedef struct
     s16 (*get_PL)(u8 Mod_id,u8 eNB_index);
 
     /// Function for UE MAC to retrieve the rssi
-    u8 (*get_RSSI)(u8 Mod_id);
+    s8 (*get_RSSI)(u8 Mod_id);
 
     /// Function for UE MAC to retrieve the total gain 
-    u8 (*get_rx_total_gain_dB)(u8 Mod_id);
+    s8 (*get_rx_total_gain_dB)(u8 Mod_id);
 
     /// Function for UE MAC to retrieve the number of adjustent cells
     u8 (*get_n_adj_cells)(u8 Mod_id);
diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c
index d674a324e25b42a851f58ca9a092c3066bb97da9..9439157d520e2ac2ad180aec79a0de3175e67893 100644
--- a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c
+++ b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.c
@@ -107,7 +107,7 @@ s8 mac_rrc_data_ind(u8 Mod_id, u32 frame, u16 Srb_id, u8 *Sdu,u16 Sdu_len,u8 eNB
 }
 
 /********************************************************************************************************************/
-void rlcrrc_data_ind( u8 Mod_id, u32 frame, u8 eNB_flag, unsigned int Srb_id, unsigned int Sdu_size,u8 *Buffer){
+void rlcrrc_data_ind(module_id_t Mod_id, u32 frame, u8 eNB_flag, unsigned int Srb_id, unsigned int Sdu_size,u8 *Buffer){
 /********************************************************************************************************************/
 #ifdef CELLULAR
   rrc_L2_rlc_data_ind_rx(Mod_id,Srb_id, Sdu_size, Buffer);
diff --git a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h
index a6dc85a2d151b7c2ea83f6295f90c1ce8115a6a2..943accdae4faf4c985dd8dd73d04b47025d19569 100644
--- a/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h
+++ b/openair2/RRC/L2_INTERFACE/openair_rrc_L2_interface.h
@@ -42,20 +42,29 @@
 
 s8 mac_rrc_data_req(u8 Mod_id, u32 frame, u16 Srb_id, u8 Nb_tb, u8 *Buffer, u8 eNB_flag, u8 eNB_index,
                     u8 mbsfn_sync_area);
+
 s8 mac_rrc_data_ind(u8 Mod_id, u32 frame, u16 Srb_id, u8 *Sdu, u16 Sdu_len, u8 eNB_flag, u8 eNB_index,
                     u8 mbsfn_sync_area);
+
 void mac_lite_sync_ind(u8 Mod_id, u8 status);
+
 void mac_rrc_meas_ind(u8, MAC_MEAS_REQ_ENTRY*);
-void rlcrrc_data_ind(u8 Mod_id, u32 frame, u8 eNB_flag, unsigned int Rb_id, u32 sdu_size, u8 *Buffer);
+
+void rlcrrc_data_ind(module_id_t Mod_id, u32 frame, u8 eNB_flag, unsigned int Rb_id, u32 sdu_size, u8 *Buffer);
 
 u8 pdcp_rrc_data_req(u8 module_id, u32 frame, u8 eNB_flag, unsigned int rb_id, u32 muiP, u32 confirmP,
                      unsigned int sdu_buffer_size, u8* sdu_buffer, u8 mode);
+
 void pdcp_rrc_data_ind(u8 Mod_id, u32 frame, u8 eNB_flag, unsigned int Srb_id, unsigned int Sdu_size, u8 *Buffer);
 
 void mac_out_of_sync_ind(u8 Mod_id, u32 frame, u16 CH_index);
+
 char openair_rrc_eNB_init(u8 Mod_id);
+
 char openair_rrc_ue_init(u8 Mod_id, unsigned char eNB_index);
+
 int mac_get_rrc_status(u8 Mod_id, u8 eNB_flag, u8 index);
+
 void mac_in_sync_ind(u8 Mod_id, u32 frame, u16 eNB_index);
 
 #endif
diff --git a/openair2/RRC/LITE/L2_interface.c b/openair2/RRC/LITE/L2_interface.c
index 33b3ec8b12f25abca293e3f5aa42465958bddf72..ee9137f75dd3579348a59b4da9cf4479bf706b20 100644
--- a/openair2/RRC/LITE/L2_interface.c
+++ b/openair2/RRC/LITE/L2_interface.c
@@ -508,7 +508,7 @@ u8 rrc_lite_data_req(u8 Mod_id, u32 frame, u8 eNB_flag, unsigned int rb_id, u32
 }
 
 //-------------------------------------------------------------------------------------------//
-void rrc_lite_data_ind( u8 Mod_id, u32 frame, u8 eNB_flag,u32 Srb_id, u32 sdu_size,u8 *Buffer){
+void rrc_lite_data_ind(module_id_t Mod_id, u32 frame, u8 eNB_flag,u32 Srb_id, u32 sdu_size,u8 *Buffer){
 //-------------------------------------------------------------------------------------------//
   u8 UE_index=(Srb_id-1)/NB_RB_MAX;
   u8 DCCH_index = Srb_id % NB_RB_MAX;
diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h
index 54a919fc0f8b3d7a81dab9a6e0a832977a47c1c2..b56f9d070673466378095f3a3fbe2a423d9b1647 100644
--- a/openair2/RRC/LITE/defs.h
+++ b/openair2/RRC/LITE/defs.h
@@ -37,7 +37,6 @@
 * \email: raymond.knopp@eurecom.fr and navid.nikaein@eurecom.fr
 */
 
-
 #ifndef __OPENAIR_RRC_DEFS_H__
 #define __OPENAIR_RRC_DEFS_H__
 
@@ -94,7 +93,7 @@
 
 //#define NUM_PRECONFIGURED_LCHAN (NB_CH_CX*2)  //BCCH, CCCH
 
-typedef enum  {
+typedef enum UE_STATE_e {
   RRC_IDLE=0,
   RRC_SI_RECEIVED,
   RRC_CONNECTED,
@@ -102,8 +101,7 @@ typedef enum  {
   RRC_HO_EXECUTION
 } UE_STATE_t;
 
-
-typedef enum  {
+typedef enum HO_STATE_e {
   HO_IDLE=0,
   HO_MEASURMENT,
   HO_PREPARE,
@@ -111,7 +109,6 @@ typedef enum  {
   HO_COMPLETE // initiated by the target eNB
 } HO_STATE_t;
 
-
 //#define NUMBER_OF_UE_MAX MAX_MOBILES_PER_RG
 #define RRM_FREE(p)       if ( (p) != NULL) { free(p) ; p=NULL ; }
 #define RRM_MALLOC(t,n)   (t *) malloc16( sizeof(t) * n ) 
@@ -127,11 +124,10 @@ typedef enum  {
 #define UNDEF_SECURITY_MODE 0xff
 #define NO_SECURITY_MODE 0x33
 
-
 #define CBA_OFFSET        0xfff4
 // #define NUM_MAX_CBA_GROUP 4 // in the platform_constants
 
-typedef struct{
+typedef struct UE_RRC_INFO_s {
   UE_STATE_t State;
   u8 SIB1Status;
   u8 SIStatus;
@@ -151,17 +147,16 @@ typedef struct{
   u32 T310_cnt;
   u32 N310_cnt;
   u32 N311_cnt;
-}UE_RRC_INFO;
+} __attribute__ ((__packed__)) UE_RRC_INFO;
 
 typedef struct UE_S_TMSI_s {
     uint8_t  presence;
     uint8_t  mme_code;
     uint32_t m_tmsi;
-}__attribute__ ((__packed__)) UE_S_TMSI;
+} __attribute__ ((__packed__)) UE_S_TMSI;
 
 #if defined(ENABLE_ITTI)
-typedef enum e_rab_satus_e
-{
+typedef enum e_rab_satus_e {
     E_RAB_STATUS_NEW,
     E_RAB_STATUS_DONE,
     E_RAB_STATUS_FAILED,
@@ -170,10 +165,10 @@ typedef enum e_rab_satus_e
 typedef struct e_rab_param_s {
     e_rab_t param;
     uint8_t status;
-} e_rab_param_t;
+} __attribute__ ((__packed__)) e_rab_param_t;
 #endif
 
-typedef struct eNB_RRC_UE_INFO_s{
+typedef struct eNB_RRC_UE_INFO_s {
     u8 Status;
 
 #if defined(ENABLE_ITTI)
@@ -193,9 +188,9 @@ typedef struct eNB_RRC_UE_INFO_s{
     /* list of e_rab to be setup by RRC layers */
     e_rab_param_t e_rab[S1AP_MAX_E_RAB];
 #endif
-}__attribute__ ((__packed__)) eNB_RRC_UE_INFO;
+} __attribute__ ((__packed__)) eNB_RRC_UE_INFO;
 
-typedef struct eNB_RRC_INFO_s{
+typedef struct eNB_RRC_INFO_s {
   /* Number of UE handle by the eNB */
   uint8_t Nb_ue;
 
@@ -204,18 +199,18 @@ typedef struct eNB_RRC_INFO_s{
 
   /* Information on UE */
   eNB_RRC_UE_INFO UE[NUMBER_OF_UE_MAX];
-}__attribute__ ((__packed__)) eNB_RRC_INFO;
+} __attribute__ ((__packed__)) eNB_RRC_INFO;
 
-typedef struct{
+typedef struct RRC_INFO_s {
   int Status;
 union{
 	UE_RRC_INFO UE_info;
 	eNB_RRC_INFO CH_info;
  }Info;
-}RRC_INFO;
+} RRC_INFO;
 
 /* Intermediate structure for Hanodver management. Associated per-UE in eNB_RRC_INST */
-typedef struct{
+typedef struct HANDOVER_INFO_s {
   u8 ho_prepare;
   u8 ho_complete;
   u8 modid_s; //Mod_id of serving cell
@@ -226,7 +221,7 @@ typedef struct{
   AS_Context_t as_context; /* They are mandatory for HO */
   uint8_t buf[RRC_BUF_SIZE];	/* ASN.1 encoded handoverCommandMessage */
   int size;		/* size of above message in bytes */
-}HANDOVER_INFO;
+} HANDOVER_INFO;
 
 #define RRC_HEADER_SIZE_MAX 64
 #define RRC_BUFFER_SIZE_MAX 1024
@@ -237,27 +232,27 @@ typedef struct{
 }RRC_BUFFER; 
 #define RRC_BUFFER_SIZE sizeof(RRC_BUFFER)
 
-typedef struct{
+typedef struct RB_INFO_s {
   u16 Rb_id;  //=Lchan_id
   LCHAN_DESC Lchan_desc[2];
   MAC_MEAS_REQ_ENTRY *Meas_entry;
-}RB_INFO;
+} RB_INFO;
 
-typedef struct SRB_INFO{
+typedef struct SRB_INFO_s {
   u16 Srb_id;  //=Lchan_id
   RRC_BUFFER Rx_buffer; 
   RRC_BUFFER Tx_buffer; 
   LCHAN_DESC Lchan_desc[2];
   unsigned int Trans_id;
   u8 Active;
-}SRB_INFO;
+} SRB_INFO;
 
-typedef struct{
+typedef struct RB_INFO_TABLE_ENTRY_s {
   RB_INFO Rb_info;
   u8 Active;
   u32 Next_check_frame;
   u8 Status;
-}RB_INFO_TABLE_ENTRY;
+} RB_INFO_TABLE_ENTRY;
 
 typedef struct{
   SRB_INFO Srb_info;
@@ -266,19 +261,18 @@ typedef struct{
   u32 Next_check_frame;
 }SRB_INFO_TABLE_ENTRY;
 
-typedef struct {
+typedef struct MEAS_REPORT_LIST_s {
   MeasId_t measId;
   //CellsTriggeredList	cellsTriggeredList;//OPTIONAL
   u32 numberOfReportsSent;
 } MEAS_REPORT_LIST;
 
-typedef struct {
+typedef struct HANDOVER_INFO_UE_s {
   PhysCellId_t targetCellId;
   u8 measFlag;
-}HANDOVER_INFO_UE;
-
+} HANDOVER_INFO_UE;
 
-typedef struct{
+typedef struct eNB_RRC_INST_s {
   uint8_t                           *SIB1;
   uint8_t                           sizeof_SIB1;
   uint8_t                           *SIB23;
@@ -334,13 +328,13 @@ typedef struct{
 } eNB_RRC_INST;
 
 #define MAX_UE_CAPABILITY_SIZE 255
-typedef struct{
+typedef struct OAI_UECapability_s {
   uint8_t sdu[MAX_UE_CAPABILITY_SIZE];
   uint8_t sdu_size;
   UE_EUTRA_Capability_t *UE_EUTRA_Capability;
 } OAI_UECapability_t;
 
-typedef struct{
+typedef struct UE_RRC_INST_s {
   uint8_t *UECapability;
   uint8_t UECapability_size;
   UE_RRC_INFO Info[NB_SIG_CNX_UE];
@@ -409,7 +403,7 @@ typedef struct{
   /* Used integrity/ciphering algorithms */
   e_SecurityAlgorithmConfig__cipheringAlgorithm     ciphering_algorithm;
   e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
-}UE_RRC_INST;
+} UE_RRC_INST;
 
 //main.c
 int rrc_init_global_param(void);
@@ -494,22 +488,20 @@ s32  rrc_ue_establish_srb2(u8 Mod_id,u32 frame, u8 eNB_index,struct SRB_ToAddMod
     @returns 0 on success */
 s32  rrc_ue_establish_drb(u8 Mod_id,u32 frame,u8 eNB_index,struct DRB_ToAddMod *DRB_config);
 
-
 /** \brief Process MobilityControlInfo Message to proceed with handover and configure PHY/MAC
     \param Mod_id Instance of UE on which to act
     \param frame frame time interval
     \param eNB_index Index of corresponding CH/eNB
     \param mobilityControlInfo Pointer to mobilityControlInfo
 */
-
-void   rrc_ue_process_mobilityControlInfo(u8 Mod_id,u32 frame, u8 eNB_index,struct MobilityControlInfo *mobilityControlInfo);
+void rrc_ue_process_mobilityControlInfo(u8 Mod_id,u32 frame, u8 eNB_index,struct MobilityControlInfo *mobilityControlInfo);
 
 /** \brief Process a measConfig Message and configure PHY/MAC
     \param Mod_id Instance of UE on which to act
     \param frame frame time interval
     \param eNB_index Index of corresponding CH/eNB
     \param  measConfig Pointer to MeasConfig  IE from configuration*/
-void	rrc_ue_process_measConfig(u8 Mod_id,u32 frame, u8 eNB_index,MeasConfig_t *measConfig);
+void rrc_ue_process_measConfig(u8 Mod_id,u32 frame, u8 eNB_index,MeasConfig_t *measConfig);
 
 /** \brief Process a RadioResourceConfigDedicated Message and configure PHY/MAC
     \param Mod_id Instance of UE on which to act
@@ -576,33 +568,48 @@ void *rrc_ue_task(void *args_p);
    \param UE_index Index of UE transmitting the messages*/
 void rrc_eNB_generate_RRCConnectionReconfiguration_handover(u8 Mod_id, u32 frame, u16 UE_index, u8 *nas_pdu, u32 nas_length);
 
-
 //L2_interface.c
 s8 mac_rrc_lite_data_req( u8 Mod_id, u32 frame, unsigned short Srb_id, u8 Nb_tb, u8 *Buffer,u8 eNB_flag, u8 eNB_index, u8 mbsfn_sync_area);
+
 s8 mac_rrc_lite_data_ind( u8 Mod_id,  u32 frame, unsigned short Srb_id, u8 *Sdu, unsigned short Sdu_len,u8 eNB_flag,u8 eNB_index, u8 mbsfn_sync_area);
+
 void mac_sync_ind( u8 Mod_id, u8 status);
+
 u8 rrc_lite_data_req(u8 Mod_id, u32 frame, u8 eNB_flag, unsigned int rb_id, u32 muiP, u32 confirmP,
                      unsigned int sdu_size, u8* Buffer, u8 mode);
-void rrc_lite_data_ind( u8 Mod_id, u32 frame, u8 eNB_flag, u32 Rb_id, u32 sdu_size,u8 *Buffer);
+
+void rrc_lite_data_ind(module_id_t Mod_id, u32 frame, u8 eNB_flag, u32 Rb_id, u32 sdu_size,u8 *Buffer);
+
 void rrc_lite_in_sync_ind(u8 Mod_id, u32 frame, u16 eNB_index);
+
 void rrc_lite_out_of_sync_ind(u8 Mod_id, u32 frame, unsigned short eNB_index);
 
 int decode_MCCH_Message(u8 Mod_id, u32 frame, u8 eNB_index, u8 *Sdu, u8 Sdu_len,u8 mbsfn_sync_area);
+
 void decode_MBSFNAreaConfiguration(u8 Mod_id, u8 eNB_index, u32 frame,u8 mbsfn_sync_area);
 
 int decode_BCCH_DLSCH_Message(u8 Mod_id,u32 frame,u8 eNB_index,u8 *Sdu,u8 Sdu_len);
 
-  int decode_SIB1(u8 Mod_id,u8 eNB_index);
+int decode_SIB1(u8 Mod_id,u8 eNB_index);
 
 int decode_SI(u8 Mod_id,u32 frame,u8 eNB_index,u8 si_window);
 
+void ue_meas_filtering(u8 Mod_id,u32 frame,u8 eNB_index);
+
+void ue_measurement_report_triggering(u8 Mod_id, u32 frame,u8 eNB_index);
+
 int mac_get_rrc_lite_status(u8 Mod_id,u8 eNB_flag,u8 index);
 
 void rrc_eNB_generate_UECapabilityEnquiry(u8 Mod_id, u32 frame, u16 UE_index);
+
 void rrc_eNB_generate_SecurityModeCommand(u8 Mod_id, u32 frame, u16 UE_index);
 
 void rrc_eNB_process_MeasurementReport(u8 Mod_id,u32 frame, u16 UE_index,MeasResults_t *measResults2) ;
+
 void rrc_eNB_generate_HandoverPreparationInformation (u8 Mod_id, u32 frame, u8 UE_index, PhysCellId_t targetPhyId) ;
+
+void check_handovers(u8 Mod_id, u32 frame);
+
 u8 check_trigger_meas_event(u8 Mod_id,u32 frame, u8 eNB_index, u8 ue_cnx_index, u8 meas_index, 
 			    Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys, 
 			    Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt);
@@ -613,8 +620,7 @@ u8 check_trigger_meas_event(u8 Mod_id,u32 frame, u8 eNB_index, u8 ue_cnx_index,
 void rrc_remove_UE (u8 Mod_id, u8 UE_id);
 
 long binary_search_int(int elements[], long numElem, int value);
+
 long binary_search_float(float elements[], long numElem, float value);
 #endif
-
-
 /** @ */
diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c
index 9ab915d71ff4d33568e3719b2601c0296e41cc80..5f40de5424a7a7ffef1f60bba681c0b7d77ea97e 100644
--- a/openair2/RRC/LITE/rrc_UE.c
+++ b/openair2/RRC/LITE/rrc_UE.c
@@ -1739,6 +1739,7 @@ void dump_sib13(SystemInformationBlockType13_r9_t *sib13) {
 
 }
 #endif
+
 //const char SIBPeriod[7][7]= {"80ms\0","160ms\0","320ms\0","640ms\0","1280ms\0","2560ms\0","5120ms\0"};
 int decode_SI(u8 Mod_id,u32 frame,u8 eNB_index,u8 si_window) {
 
@@ -1898,7 +1899,6 @@ int decode_SI(u8 Mod_id,u32 frame,u8 eNB_index,u8 si_window) {
   return 0;
 }
 
-
 // layer 3 filtering of RSRP (EUTRA) measurements: 36.331, Sec. 5.5.3.2
 void ue_meas_filtering(u8 Mod_id,u32 frame,u8 eNB_index){
   float a = UE_rrc_inst[Mod_id].filter_coeff_rsrp; // 'a' in 36.331 Sec. 5.5.3.2
diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c
index b28b154e7aa5678f9244bd58846a0ae250122575..e618fb946c2158498556fcff3e381a3865a62137 100644
--- a/openair2/RRC/LITE/rrc_common.c
+++ b/openair2/RRC/LITE/rrc_common.c
@@ -401,7 +401,7 @@ RRC_status_t rrc_rx_tx(u8 Mod_id,u32 frame, u8 eNB_flag,u8 index){
 }
 
 long binary_search_int(int elements[], long numElem, int value) {
-  long first, last, middle, search;
+  long first, last, middle, search = -1;
   first = 0;
   last = numElem-1;
   middle = (first+last)/2;
@@ -432,7 +432,7 @@ long binary_search_int(int elements[], long numElem, int value) {
    Used for RSRP and RSRQ measurement mapping. Can potentially be used for other things
 */
 long binary_search_float(float elements[], long numElem, float value) {
-  long first, last, middle, search;
+  long first, last, middle;
   first = 0;
   last = numElem-1;
   middle = (first+last)/2;
diff --git a/targets/SIMU/USER/sinr_sim.c b/targets/SIMU/USER/sinr_sim.c
index f2c87d7dde219069cb12725227638536a348a46b..4c6fbbeb73f45d68e1dd592ff4fc39c445d33fec 100644
--- a/targets/SIMU/USER/sinr_sim.c
+++ b/targets/SIMU/USER/sinr_sim.c
@@ -557,11 +557,11 @@ void get_beta_map() {
       }
       fclose(fp);
       //   }
-      //    LOG_D(OCM,"Print the table for mcs %d\n",mcs);
-printf("Print the table for mcs %d\n",mcs);
+    LOG_D(OCM,"Print the table for mcs %d\n",mcs);
+    // printf("Print the table for mcs %d\n",mcs);
     for (t = 0; t<table_length[mcs]; t++)
-      //      LOG_D(OCM,"%lf  %lf \n ",sinr_bler_map[mcs][0][t],sinr_bler_map[mcs][1][t]);
-printf("%lf  %lf \n ",sinr_bler_map[mcs][0][t],sinr_bler_map[mcs][1][t]);
+      LOG_D(OCM,"%lf  %lf \n ",sinr_bler_map[mcs][0][t],sinr_bler_map[mcs][1][t]);
+      // printf("%lf  %lf \n ",sinr_bler_map[mcs][0][t],sinr_bler_map[mcs][1][t]);
   }
   free(file_path);
 }
@@ -603,7 +603,8 @@ void get_MIESM_param() {
        fclose(fp);
        for (t = 0; t < 162; t++){
 	 // MI_map_4Qam[0][t] = pow(10,0.1*(MI_map_4Qam[0][t]));
-	 printf("MIESM 4QAM Table: %lf  %lf  %1f\n ",MI_map_4qam[0][t],MI_map_4qam[1][t], MI_map_4qam[2][t]);
+         LOG_D(OCM, "MIESM 4QAM Table: %lf  %lf  %1f\n ",MI_map_4qam[0][t],MI_map_4qam[1][t], MI_map_4qam[2][t]);
+	 // printf("MIESM 4QAM Table: %lf  %lf  %1f\n ",MI_map_4qam[0][t],MI_map_4qam[1][t], MI_map_4qam[2][t]);
        }
        break;
 	case 16:
@@ -621,7 +622,8 @@ void get_MIESM_param() {
        fclose(fp);
        for (t = 0; t < 197; t++){
 	 // MI_map_16Qam[0][t] = pow(10,0.1*(MI_map_16Qam[0][t]));
-	 printf("MIESM 16 QAM Table: %lf  %lf  %1f\n ",MI_map_16qam[0][t],MI_map_16qam[1][t], MI_map_16qam[2][t]);
+         LOG_D(OCM, "MIESM 16 QAM Table: %lf  %lf  %1f\n ",MI_map_16qam[0][t],MI_map_16qam[1][t], MI_map_16qam[2][t]);
+	 // printf("MIESM 16 QAM Table: %lf  %lf  %1f\n ",MI_map_16qam[0][t],MI_map_16qam[1][t], MI_map_16qam[2][t]);
 	}
        break;
 	case 64:
@@ -641,7 +643,8 @@ void get_MIESM_param() {
        fclose(fp);
        for (t = 0; t < 227; t++){
 	 //MI_map_64Qam[0][t] = pow(10,0.1*(MI_map_64Qam[0][t]));
-	 printf("MIESM 64QAM Table: %lf  %lf  %1f\n ",MI_map_64qam[0][t],MI_map_64qam[1][t], MI_map_64qam[2][t]);
+         LOG_D(OCM, "MIESM 64QAM Table: %lf  %lf  %1f\n ",MI_map_64qam[0][t],MI_map_64qam[1][t], MI_map_64qam[2][t]);
+         // printf("MIESM 64QAM Table: %lf  %lf  %1f\n ",MI_map_64qam[0][t],MI_map_64qam[1][t], MI_map_64qam[2][t]);
        }
        break;