- separated the implementation from USART implementation for more clarity - fixed warnings - minor visual updates