adding uart submodules & uart function, fixed bug in uart_data