#30 improve driver uart, not tested