added RX FIFO and acomponied functions