fixing up terrible uart bugs because I am a terrible programmer