bite the bullet and integrate a working uart impl