diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
index 5717b328057c7bf3725aa525714a7221e1ae4210..547dd523cadcb27026beaab817acb7176c65ecc5 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c
@@ -192,7 +192,7 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
     			//Use zeros for the header bytes in noS1 mode, in order to make sure that the LCID is not valid
     			//and block this traffic from being forwarded to the upper layers at the gNB
     			uint16_t payload_offset = 5;
-    			LOG_E(PHY, "Random data to be tranmsitted: \n");
+    			LOG_D(PHY, "Random data to be tranmsitted: \n");
     			//Give the header bytes some dummy value in order to block the random packet at the MAC layer of the receiver
     			for (i = 0; i<payload_offset; i++)
     				harq_process_ul_ue->a[i] = 0;
@@ -426,7 +426,7 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
   ///////////
   ////////////////////////////////////////////////////////////////////////
 
-  LOG_I(PHY, "Is data existing ?: %d \n", data_existing);
+  LOG_D(PHY, "Is data existing ?: %d \n", data_existing);
   return data_existing;
 }
 
diff --git a/openair1/SCHED_NR/phy_procedures_nr_gNB.c b/openair1/SCHED_NR/phy_procedures_nr_gNB.c
index 4dd67d373f2894dd66ba0ebd587cb54671ade64a..2d92f63e6b1009dd8bea68a04469e4f641380845 100644
--- a/openair1/SCHED_NR/phy_procedures_nr_gNB.c
+++ b/openair1/SCHED_NR/phy_procedures_nr_gNB.c
@@ -288,7 +288,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id
     LOG_I(PHY, "ULSCH in error\n");
   //gNB->ulsch[UE_id+1][0]->harq_processes[harq_pid]->b
   else if(gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->b!=NULL){
-	  LOG_D(PHY, "ULSCH received ok \n");
+	  LOG_I(PHY, "ULSCH received ok \n");
 	  if(IS_SOFTMODEM_NOS1){ //&& gNB->ulsch[UE_id][0]->rnti == 0x1234
 		  nr_fill_crc_indication (gNB, UE_id, frame_rx, slot_rx, 0);
 		  nr_fill_rx_indication(gNB, frame_rx, slot_rx, UE_id, harq_pid);
diff --git a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
index 568ef5f736e1ab6c30e95516cc7e9985acfd7532..6282e81066dfc7439b499f84261a44b039fd55e6 100644
--- a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+++ b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
@@ -2502,7 +2502,7 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
   } // UE_mode==PUSCH
 */
 
-	  LOG_I(PHY, "Sending data \n");
+	  LOG_D(PHY, "Sending data \n");
 	  nr_ue_pusch_common_procedures(ue,
                                 harq_pid,
                                 slot_tx,
diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
index cb004e0c23d6f0468db3bfda693e368a0be2a01f..80bfec6cf9cc5a0e7b319d023143c61d99a2c8e2 100644
--- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
+++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
@@ -133,6 +133,9 @@ typedef struct {
 #define UL_SCH_LCID_L_BSR                          0x3E
 #define UL_SCH_LCID_PADDING                        0x3F
 
+#define NR_MAX_NUM_LCID							   32
+#define NR_MAX_NUM_LCGID							8
+
 
 #endif /*__LAYER2_MAC_H__ */
 
diff --git a/openair2/LAYER2/NR_MAC_UE/mac.h b/openair2/LAYER2/NR_MAC_UE/mac.h
index fe8e91500a441c3c0e71550103d14606ba64eed7..25e5ded99622456481f7b95dea6ba2f19db3b884 100644
--- a/openair2/LAYER2/NR_MAC_UE/mac.h
+++ b/openair2/LAYER2/NR_MAC_UE/mac.h
@@ -49,65 +49,4 @@ typedef enum {
     UE_PHY_HO_PRACH
 } NR_UE_L2_STATE_t;
 
-typedef struct {
-    uint8_t LCID:6;     // octet 1 [5:0]
-    uint8_t F:1;        // octet 1 [6]
-    uint8_t R:1;        // octet 1 [7]
-    uint8_t L:8;        // octet 2 [7:0]
-} __attribute__ ((__packed__)) NR_MAC_SUBHEADER_SHORT;
-
-typedef struct {
-    uint8_t LCID:6;     // octet 1 [5:0]
-    uint8_t F:1;        // octet 1 [6]
-    uint8_t R:1;        // octet 1 [7]
-    uint8_t L1:8;       // octet 2 [7:0]
-    uint8_t L2:8;       // octet 3 [7:0]
-} __attribute__ ((__packed__)) NR_MAC_SUBHEADER_LONG;
-
-typedef struct {
-    uint8_t LCID:6;     // octet 1 [5:0]
-    uint8_t R:2;        // octet 1 [7:6]
-} __attribute__ ((__packed__)) NR_MAC_SUBHEADER_FIXED;
-
-//  38.321 ch6.2.1, 38.331
-#define DL_SCH_LCID_CCCH                           0x00
-#define DL_SCH_LCID_SRB1                           0x01
-#define DL_SCH_LCID_SRB2                           0x02
-#define DL_SCH_LCID_SRB3                           0x03
-#define DL_SCH_LCID_RECOMMENDED_BITRATE            0x2F
-#define DL_SCH_LCID_SP_ZP_CSI_RS_RES_SET_ACT       0x30
-#define DL_SCH_LCID_PUCCH_SPATIAL_RELATION_ACT     0x31
-#define DL_SCH_LCID_SP_SRS_ACTIVATION              0x32
-#define DL_SCH_LCID_SP_CSI_REP_PUCCH_ACT           0x33
-#define DL_SCH_LCID_TCI_STATE_IND_UE_SPEC_PDCCH    0x34
-#define DL_SCH_LCID_TCI_STATE_ACT_UE_SPEC_PDSCH    0x35
-#define DL_SCH_LCID_APERIODIC_CSI_TRI_STATE_SUBSEL 0x36
-#define DL_SCH_LCID_SP_CSI_RS_CSI_IM_RES_SET_ACT   0X37 
-#define DL_SCH_LCID_DUPLICATION_ACT                0X38
-#define DL_SCH_LCID_SCell_ACT_4_OCT                0X39
-#define DL_SCH_LCID_SCell_ACT_1_OCT                0X3A
-#define DL_SCH_LCID_L_DRX                          0x3B
-#define DL_SCH_LCID_DRX                            0x3C
-#define DL_SCH_LCID_TA_COMMAND                     0x3D
-#define DL_SCH_LCID_CON_RES_ID                     0x3E
-#define DL_SCH_LCID_PADDING                        0x3F
-
-#define UL_SCH_LCID_CCCH                           0x00
-#define UL_SCH_LCID_SRB1                           0x01
-#define UL_SCH_LCID_SRB2                           0x02
-#define UL_SCH_LCID_SRB3                           0x03
-#define UL_SCH_LCID_CCCH_MSG3                      0x21
-#define UL_SCH_LCID_RECOMMENDED_BITRATE_QUERY      0x35
-#define UL_SCH_LCID_MULTI_ENTRY_PHR_4_OCT          0x36
-#define UL_SCH_LCID_CONFIGURED_GRANT_CONFIRMATION  0x37
-#define UL_SCH_LCID_MULTI_ENTRY_PHR_1_OCT          0x38
-#define UL_SCH_LCID_SINGLE_ENTRY_PHR               0x39
-#define UL_SCH_LCID_C_RNTI                         0x3A
-#define UL_SCH_LCID_S_TRUNCATED_BSR                0x3B
-#define UL_SCH_LCID_L_TRUNCATED_BSR                0x3C
-#define UL_SCH_LCID_S_BSR                          0x3D
-#define UL_SCH_LCID_L_BSR                          0x3E
-#define UL_SCH_LCID_PADDING                        0x3F
-
-
 #endif /*__LAYER2_MAC_DEFS_H__ */
diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h
index 534f3bf9c3e6bbdd193526d917f1ed3cb1abf601..b97d4696e7ff9f14d72b59560a66f3b66a2a989d 100755
--- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h
+++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h
@@ -51,12 +51,11 @@
 #include "fapi_nr_ue_interface.h"
 #include "NR_IF_Module.h"
 #include "PHY/defs_nr_common.h"
+#include "openair2/LAYER2/NR_MAC_COMMON/nr_mac.h"
 
 #define NB_NR_UE_MAC_INST 1
 /*!\brief Maximum number of logical channl group IDs */
-#define MAX_NUM_LCGID 4
-/*!\brief Maximum number of logical chanels */
-#define MAX_NUM_LCID 11
+
 
 /*!\brief value for indicating BSR Timer is not running */
 #define NR_MAC_UE_BSR_TIMER_NOT_RUNNING   (0xFFFF)
@@ -67,42 +66,24 @@ typedef enum {
     SFN_C_IMPOSSIBLE
 } SFN_C_TYPE;
 
-#define UL_SCH_LCID_CCCH                           0x00
-#define UL_SCH_LCID_SRB1                           0x01
-#define UL_SCH_LCID_SRB2                           0x02
-#define UL_SCH_LCID_DTCH						   0x03
-#define UL_SCH_LCID_SRB3                           0x04
-#define UL_SCH_LCID_CCCH_MSG3                      0x21
-#define UL_SCH_LCID_RECOMMENDED_BITRATE_QUERY      0x35
-#define UL_SCH_LCID_MULTI_ENTRY_PHR_4_OCT          0x36
-#define UL_SCH_LCID_CONFIGURED_GRANT_CONFIRMATION  0x37
-#define UL_SCH_LCID_MULTI_ENTRY_PHR_1_OCT          0x38
-#define UL_SCH_LCID_SINGLE_ENTRY_PHR               0x39
-#define UL_SCH_LCID_C_RNTI                         0x3A
-#define UL_SCH_LCID_S_TRUNCATED_BSR                0x3B
-#define UL_SCH_LCID_L_TRUNCATED_BSR                0x3C
-#define UL_SCH_LCID_S_BSR                          0x3D
-#define UL_SCH_LCID_L_BSR                          0x3E
-#define UL_SCH_LCID_PADDING                        0x3F
-
 // LTE structure, might need to be adapted for NR
 typedef struct {
   /// buffer status for each lcgid
-  uint8_t  BSR[MAX_NUM_LCGID]; // should be more for mesh topology
+  uint8_t  BSR[NR_MAX_NUM_LCGID]; // should be more for mesh topology
   /// keep the number of bytes in rlc buffer for each lcgid
-  int32_t  BSR_bytes[MAX_NUM_LCGID];
+  int32_t  BSR_bytes[NR_MAX_NUM_LCGID];
   /// after multiplexing buffer remain for each lcid
-  int32_t  LCID_buffer_remain[MAX_NUM_LCID];
+  int32_t  LCID_buffer_remain[NR_MAX_NUM_LCID];
   /// sum of all lcid buffer size
   uint16_t  All_lcid_buffer_size_lastTTI;
   /// buffer status for each lcid
-  uint8_t  LCID_status[MAX_NUM_LCID];
+  uint8_t  LCID_status[NR_MAX_NUM_LCID];
   /// SR pending as defined in 36.321
   uint8_t  SR_pending;
   /// SR_COUNTER as defined in 36.321
   uint16_t SR_COUNTER;
   /// logical channel group ide for each LCID
-  uint8_t  LCGID[MAX_NUM_LCID];
+  uint8_t  LCGID[NR_MAX_NUM_LCID];
   /// retxBSR-Timer, default value is sf2560
   uint16_t retxBSR_Timer;
   /// retxBSR_SF, number of subframe before triggering a regular BSR
@@ -142,9 +123,9 @@ typedef struct {
   uint16_t extendedPHR_r10;
 
   //Bj bucket usage per  lcid
-  int16_t Bj[MAX_NUM_LCID];
+  int16_t Bj[NR_MAX_NUM_LCID];
   // Bucket size per lcid
-  int16_t bucket_size[MAX_NUM_LCID];
+  int16_t bucket_size[NR_MAX_NUM_LCID];
 } NR_UE_SCHEDULING_INFO;
 
 
diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
index ceff5baaa723f71e36480d0d7c80b4156e315395..df27f5b8db9a0595926747bde3faa9c7750bdb2b 100644
--- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
@@ -36,9 +36,10 @@
 #include "assertions.h"
 #include "PHY/defs_nr_UE.h"
 #include "common/utils/LOG/log.h"
-#include "openair2/LAYER2/MAC/mac.h"
-#include "openair2/LAYER2/RLC/rlc.h"
+//#include "openair2/LAYER2/MAC/mac.h"
+//#include "openair2/LAYER2/RLC/rlc.h"
 #include "SIMULATION/TOOLS/sim.h" // for taus
+#include "openair2/LAYER2/NR_MAC_COMMON/nr_mac.h"
 
 #include <stdio.h>
 #include <math.h>
@@ -2184,7 +2185,7 @@ void nr_ue_process_mac_pdu(
                 break;
 
             //  MAC SDU
-            case DL_SCH_LCID_SRB1:
+            case DL_SCH_LCID_DCCH:
                 //  check if LCID is valid at current time.
             case UL_SCH_LCID_SRB2:
                 //  check if LCID is valid at current time.
@@ -2506,8 +2507,8 @@ nr_ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
 
   // Check for DCCH first
   // TO DO: Multiplex in the order defined by the logical channel prioritization
-  for (lcid = DCCH;
-       lcid < MAX_NUM_LCID; lcid++) {
+  for (lcid = UL_SCH_LCID_SRB1;
+       lcid < NR_MAX_NUM_LCID; lcid++) {
 
       lcid_buffer_occupancy_old =
     		  //TODO: Replace static value with CRNTI
diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
index a041f7cce387dc862cdbc5fb0875cd9d95a7a854..cabaee7b5c5e0f8bc5288ee9fdb45184dd43d928 100644
--- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
@@ -565,9 +565,6 @@ void nr_process_mac_pdu(
     int pdu_len = mac_pdu_len;
     uint16_t mac_ce_len, mac_subheader_len, mac_sdu_len;
 
-    rx_lcid = ((NR_MAC_SUBHEADER_FIXED *)pdu_ptr)->LCID;
-
-    LOG_I(MAC, "LCID received at gNB side: %d \n", rx_lcid);
 
     //  For both DL/UL-SCH
     //  Except:
@@ -600,7 +597,7 @@ void nr_process_mac_pdu(
         mac_sdu_len = 0;
         rx_lcid = ((NR_MAC_SUBHEADER_FIXED *)pdu_ptr)->LCID;
 
-        LOG_I(MAC, "LCID received at gNB side: %d \n", rx_lcid);
+        LOG_D(MAC, "LCID received at gNB side: %d \n", rx_lcid);
 
         switch(rx_lcid){
             //  MAC CE
@@ -681,49 +678,17 @@ void nr_rx_sdu(module_id_t module_idP,
                     const uint8_t ul_cqi)
 {
 
-  LOG_I(MAC, "Handling PDU frame %d slot %d pdu_len: %d \n", frameP, ttiP, pdu_len);
+  LOG_D(MAC, "Handling PDU frame %d slot %d pdu_len: %d \n", frameP, ttiP, pdu_len);
 
   uint8_t * pduP = pdu;
 
-
-  /*if (opt_enabled) {
-    trace_pdu(DIRECTION_DOWNLINK, pduP, pdu_len, module_idP, WS_C_RNTI,
-    UE_mac_inst[module_idP].cs_RNTI, frameP, ttiP, 0, 0); //subframeP
-    LOG_D(OPT, "[UE %d][DLSCH] Frame %d trace pdu for rnti %x  with size %d\n",
-      module_idP, frameP, UE_mac_inst[module_idP].cs_RNTI, pdu_len);
-    }*/
-
-  /*
-  #ifdef DEBUG_HEADER_PARSING
-    LOG_D(MAC, "[UE %d] ue_send_sdu : Frame %d gNB_index %d : num_ce %d num_sdu %d\n",
-      module_idP, frameP, gNB_index, num_ce, num_sdu);
-  #endif
-  */
-
-  /*
-  #if defined(ENABLE_MAC_PAYLOAD_DEBUG)
-    LOG_T(MAC, "[UE %d] First 32 bytes of DLSCH : \n", module_idP);
-    for (i = 0; i < 32; i++) {
-      LOG_T(MAC, "%x.", sdu[i]);
-    }
-    LOG_T(MAC, "\n");
-  #endif
-  */
-
   // Processing MAC PDU
   // it parses MAC CEs subheaders, MAC CEs, SDU subheaderds and SDUs
   if (pduP != NULL){
-	  LOG_I(MAC, "Received PDU at MAC gNB \n");
+	  LOG_D(MAC, "Received PDU at MAC gNB \n");
 	  nr_process_mac_pdu(module_idP, CC_id, frameP, pduP, pdu_len);
   }
 
-  //VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SEND_SDU, VCD_FUNCTION_OUT);
-
-  /*
-  #if UE_TIMING_TRACE
-    stop_meas(&UE_mac_inst[module_idP].rx_dlsch_sdu);
-  #endif
-  */
 }
 
 
diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
index 5305dd6f50bb6c5132a5e38ea2bd9a744e018662..84260acbd1e320afd624b6a86fdb16b7490db460 100644
--- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
@@ -78,7 +78,7 @@ void mac_rlc_data_ind     (
   }
 
   if (rb != NULL) {
-	  LOG_W(RLC, "RB found! (channel ID %d) \n", channel_idP);
+	LOG_D(RLC, "RB found! (channel ID %d) \n", channel_idP);
     rb->set_time(rb, nr_rlc_current_time);
     rb->recv_pdu(rb, buffer_pP, tb_sizeP);
   } else {
diff --git a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c
index 6a6dc746951c8cb6bd44dbbd1be7cf5699f0483f..cc52648ff00014127ccd1cd89b8130ee41712014 100644
--- a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+++ b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c
@@ -192,7 +192,7 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info) {
                      UL_info->rx_ind.rx_indication_body.rx_pdu_list[i].rx_indication_rel8.timing_advance,
                      UL_info->rx_ind.rx_indication_body.rx_pdu_list[i].rx_indication_rel8.ul_cqi);
             } else {
-              LOG_I(MAC,"Frame %d, Slot %d Calling rx_sdu (CRC ok), received length: %d \n",UL_info->frame,UL_info->slot, UL_info->rx_ind.rx_indication_body.rx_pdu_list[i].rx_indication_rel8.length);
+              LOG_D(MAC,"Frame %d, Slot %d Calling rx_sdu (CRC ok), received length: %d \n",UL_info->frame,UL_info->slot, UL_info->rx_ind.rx_indication_body.rx_pdu_list[i].rx_indication_rel8.length);
               nr_rx_sdu(UL_info->module_id,
                      UL_info->CC_id,
                      NFAPI_SFNSF2SFN(UL_info->rx_ind.sfn_sf), //UL_info->frame,