using UART interrupt