added UART functions