Implemented a large portion of transmit and some receive in UART